JVM的内存区域是怎么划分的

我们通过JVM的官网虚拟机规范定义可知,JVM的运行时内存区域主要是由Java堆、虚拟机栈、本地方法栈、方法区以及程序计数器和运行时常量池组成的。其中,堆、方法区与运行时常量池是线程共享的区域。

image-20231223104035964

虚拟机栈:用于存储Java中的局部变量。生命周期:方法调用-->创建栈帧-->存储局部变量、操作数栈、动态链接、方法出口等-->弹出栈帧-->结束

本地方法栈:特殊的栈。类似于Java虚拟机栈,但是支持本地方法的执行

程序计数器

Java堆

方法区

运行时常量池