JVM运行时数据区总结



JVM运行时数据区

数据区 作用域 作用 初始化实际 异常
PC寄存器 按线程分配 PC寄存器就保存Java虚拟机正在执行的字节码指令的地址 随线程创建
java虚拟机栈 按线程分配 用于存储栈帧,就是用于存储局部变量与一些过程结果的地方 随线程创建 StackOverflowError
Java堆 线程共享 可供各条线程共享的运行时内存区域,也是供所有类实例和数组对象分配内存的区域 虚拟机启动 OutOfMemoryError
方法区 线程共享 方法区是堆的逻辑组成部分。可供各条线程共享的运行时内存区域,它存储了每一个类的结构信息,例如运行时常量池(Runtime   Constant Pool)、字段和方法数据、构造函数和普通方法的字节码内容、还包括一些在类、实例、接口初始化时用到的特殊方法 虚拟机启动 OutOfMemoryError
运行时常量池 线程共享 每一个类或接口的常量池(Constant_Pool)的运行时表示形式,它包括了若干种不同的常量:从编译期可知的数值字面量到必须运行期解析后才能获得的方法或字段引用 在类和接口被加载到虚拟机后,对应的运行时常量池就被创建出来 OutOfMemoryError
本地方法栈 按线程分配 可有可无 随线程创建 StackOverflowError


你可能感兴趣的:(JVM运行时数据区)