JVM内存模型

194 阅读1分钟

JVM内存体系中主要由几个子系统和内存区组成:

1.垃圾回收器:回收堆内垃圾对象

2.类装载子系统:加载类文件,验证加载的类的正确性,初始化类成员变量和方法

3.执行引擎:执行类装载系统装载类的方法的指令

4.运行时数据区:又称为虚拟机内存或者Java内存

运行时数据区又分为五部分

名称 英文名称 描述 权限
程序计数器 Program Counter Register 记录本线程下一条指令的地址 线程私有
Java虚拟机栈 VM Stack 记录线程执行方法中的局部变量等信息,以栈帧为单位进行压栈和出栈 线程私有
本地方法栈 Native Method Stack 记录本地方法的状态 线程私有
Java堆 Heap 存储对象,几乎所有对象都是在堆中保存的,生命周期和虚拟机生命周期一样 线程间共享
方法区 Method Area 存放类、接口信息、常量、静态变量等,垃圾回收器会像管理堆一样管理这一片区域 线程间共享
Runtime Constant Pool 运行时常量池包含在方法区,存放一些字面量和符号引用 线程间共享