JMM
2020-08-25 10:32:44 0 举报
JVM内存模型
作者其他创作
大纲/内容
1
老年代FGC
jdk1.8之前,称为Perm Space永久代,jdk1.8之后,称为Meta Space元数据区,两者区别:Perm Space:1、FGC不清理;2、大小启动时指定,不能变。Meta Space:1、会触发FGC;2、不设定大小的话默认物理内存。
线程n
当前线程
Method Area方法区
栈帧3
……
survivor
操作栈Operand Stack
JVM可以直接访问的内核空间的内存 (OS 管理的内存)
Runtime Constant Pool常量池
index
局部变量表Local Variable Table
arg
当前栈帧Current Stack Frame
JVM Stack虚拟机栈(线程私有)
1.8之前位于Method Area,1.8之后位于堆
栈帧2
PC 程序计数器(线程私有)
Eden
0
栈帧1
Direct Memory直接内存
this
Native Method Stack本地方法栈(线程私有)
name
动态连接Dynamic Linking
存放指令位置虚拟机的运行,类似于这样的循环:while( not end ) { 取PC中的位置,找到对应位置的指令; 执行该指令; PC ++;}
返回地址Return Address
年轻代YGC
线程2
Heap 堆
0 条评论
回复 删除
下一页