JVM 内存结构
方法区:
方法区主要用于存储捏造机加载的类信息、常量、静态变量,以及编译器编译后的代码等数据。
程序计数器
由于在JVM中,多线程是通过线程轮番切换来获得CPU实验时间的,因此,在任一详细时候,一个CPU的内核只会实验一条线程中的指令。为了能够使得每个线程都在线程切换后能够恢复在切换之前的程序实验位置,每个线程都需要有自己独立的程序计数器,并且不能相互被干扰。
java栈
Java栈中存放的是一个个的栈帧,每个栈帧对应一个被调用的方法,在栈帧中包括局部变量表(Local Variables)、利用数栈(Operand Stack)、指向当火线法所属的类的运行时常量池的引用(Reference to runtime constant pool)、方法返回地址(Return Address)和一些额外的附加信息。
堆内存
堆内存主要用于存放对象和数组,它是JVM管理的内存中最大的一块地区,堆内存和方法区都被全部线程共享,在捏造机启动时创建。 才让人
****jvm内存模子中-栈,方法区,程序计数器是线程安全的
Java 捏造机(JVM,Java Virtual Machine)是 Java 编程语言最重要的组件之一。JVM 是一种抽象的盘算机,它为 Java 程序提供了运行情况。Java 程序在编译之后天生字节码(Bytecode),而 JVM 负责解释或将字节码编译为呆板码,并在盘算机上实验。
JVM 的主要功能
1.加载代码:JVM 通过类加载器(Class Loader)将字节码加载到内存中。
2.实验代码:JVM 实验已加载的字节码。
3.内存管理:JVM 管理程序运行时所需的内存,主要包括堆(Heap)和栈(Stack)。
4.垃圾回收:JVM 主动管理内存的分配和回收,防止内存泄漏和过度消耗。
5.提供运行时情况:包括安全管理、线程管理和其他体系资源的管理。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |