JVM运行数据区详情
2021-07-09 11:37:07 7 举报
JVM运行数据区是Java虚拟机在执行Java程序过程中用于存放数据的内存区域,包括方法区、堆、栈、本地方法栈和程序计数器。方法区用于存储已被加载的类信息、常量、静态变量等数据;堆是Java虚拟机所管理的内存中最大的一块,主要用于存放对象实例;栈用于存储局部变量和方法调用等信息;本地方法栈则用于支持native方法的执行;程序计数器则用于记录当前线程所执行的字节码行号。这些区域共同协作,为Java程序提供了良好的运行环境和高效的内存管理机制。
作者其他创作
大纲/内容
From Survivor
1/10
8/10
JMM中称为永久代,1.8版本后称为元空间
动态链接
操作数栈
Minor GC
老数据
即时编译器变异的代码
运行时才有
堆
?return
......
本地方法栈
0: this
-Xss设置栈大小
方法区
2: 引用
1: 八大基础类型
To Survivor
局部变量表
栈帧1
数组
-Xms初始大小-Xms最大大小
线程共享(放数据)
常量
JVM运行时数据区
类信息
栈帧2
返回地址/方法出口
程序计数器
大对象(直接进来)
老年代 (2/3大小)
每个方法对应一个栈帧
对象
栈帧n
线程私有(放指令)
栈 stack
静态变量
指向多态
新生代 (1/3大小)
15次上限
指令
收藏
0 条评论
回复 删除
下一页