0%

JVM笔记 - 运行时内存区域

JvmSpec

程序计数器

它可以看做是当前线程执行的字节码的指示器。

Java虚拟机栈

它描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口信息等。每一个方法从调用到执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。

本地方法栈

Java堆

它是被所有线程共享的一块区域,在虚拟机启动时创建。此内存区域的唯一目的是存放对象实例。

对象的内存布局分为3块区域 对象头、实例数据、对齐填充

方法区

它也是被所有线程共享的一块区域,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

运行时常量池是方法区的一部分。