JVM分区详解
2020-12-21 10:03:48 12 举报
JVM分区详解
作者其他创作
大纲/内容
Slot2
方法区、堆所有线程共享栈和计数器为线程私有
A的描述信息
加载
操作数栈也叫操作栈,用于保存计算过程中的中间结果,通过入栈出栈来完成数据访问,作为计算过程中变量的临时存储空间
类信息
静态变量
栈帧1
存储方法参数及方法内局部变量,通过索引访问,(作为GC Root)只要被局部变量表中直接或间接引用的对象都不会被回收
A2
A的引用
类引用
对象实例
方法返回地址
类加载过程
java file
本地方法栈
Class实例
堆
...
To
栈帧3
Class对象
类、Class对象、实例
Slot3
执行引擎
javac
老年代
方法区
A的实例
线程2
Slot0
A.java
A3
getClassLoader
class loader
A的Class实例相当于实例化的模板
类加载器
A.class file
虚拟机栈
getClass
伊甸园区
方法信息
string常量
操作数栈
本地方法接口
程序计数器
A1
新生代
元空间
Slot1
运行时常量池
属性引用
实例化
永久代
动态链接
栈
方法区为逻辑区域,jdk8之前存放在永久代,jdk8之后,直接存放在元空间(位于本地内存,即堆外内存、非堆内存)
线程1
局部变量表
From
方法引用
栈帧2
运行时数据区
class file
当前栈帧
收藏
收藏
0 条评论
回复 删除
下一页