JVM内存模型
2021-07-12 05:24:38 26 举报
JVM的内存模型
作者其他创作
大纲/内容
线程A
Area-5:方法区(即元空间)常量+静态变量+类信息
每调用一个方法,则在线程的栈空间内,为其生成分配一个空间,即:栈帧之所以成为栈,因为跟我们的数据结构“栈”特性一样,FIFO
Area-4:堆(heap)
S1区(默认1/10)
当前执行代码,用到的一个临时数据存储区域
java.tuling.jvm.Math.class
老年区(默认占整个堆内存的2/3)
对象A对象B常量C
局部变量表
动态链接
Area-4:堆(heap)
程序计数器
类装载子系统
线程C
执行
FIFO栈(线程)
字节码执行引擎
运行时数据区(内存模型),基于JDK1.8
存放方法中的局部变量
Area-2:栈(线程内部模型)
线程B
Area-1:本地方法栈
很简单,因为方法存在调用,那当前方法执行结束后出口位置在哪
对象A
Eden区(默认8/10)
JVM虚拟机
S0区(默认1/10)
本地方法栈
静态对象staticA
指针,堆地址
Area-3:程序计数器(即寄存器)
操作数栈
修改
main方法栈帧
其他线程
方法出口
被调用的方法A栈帧
Area-2:栈(线程)
A.class
staticA
0 条评论
下一页