JVM 内存模型
2023-04-10 16:09:36 0 举报
JVM 内存模型
作者其他创作
大纲/内容
Eden(8/10)
运行时数据区
线程2
JAVA MathTest.class
本地方法栈(每个线程都有)
局部变量表
栈(线程栈)
compute() - 栈帧
操作数栈
Survivor0(1/10)
main() - 栈帧
minor gc / full gc
方法出口
15
堆(存放运行时类的信息)
老年代(2/3)
线程栈
main 线程(栈)
方法区(元空间)常量+静态变量+类元信息
动态链接
执行在方法区内的类
栈内存
线程3
public class MainTest { public static void main(String[] args) { // 一个方法对应一块栈帧内存 MainTest mainTest = new MainTest(); final int compute = mainTest.compute(); System.err.println(compute); } public int compute() { // 一个方法对应一块栈帧内存 int a = 1; int b = 2; int c = (a + b) * 3; return c; }}
Survivor1(1/10)
线程4
JVM 虚拟机
栈、本地方法栈、程序计数器是每一个线程内部都会独有的。
main 线程
本地方法栈(存放c或c++底层代码执行时的信息)
类装载子系统
执行的每一行代码,都会去修改
程序数据器(每个线程都有)
堆内存
字节码执行引擎
加载
程序数据器(记录程序的当前执行位置)
年轻代(1/3)
0 条评论
下一页