JVM GC 流转图
2023-10-10 11:17:22 0 举报
JVM GC 流转图
作者其他创作
大纲/内容
老年代是CMS&&是否达到设置的百分比
依然放不下
new
Y
对该区域进行加锁
实例数据instance data
大?
instance Oop Desc对象头
POP
START
MarkWorld
年轻代是否有连续的空间
老年代的内存>历来进入老年代的对象的平均大小
-XX:CMSInitiatingOccupancyFaction
N
老年代连续的可用的内存空间>新生代所有对象的总大小
S2
存活
死亡
Eden
S1
类加载 存放类信息
剩余存活<1/2 S
OOM
没有内存可用时带动一次GFC
MetaSpace
Top n 大的对象去老年代
尝试回收MetaSpace
交替使用
FGC后检查能否放下
OLD能否放下
剩余存活<S大小
判断是否是逃逸对象(作用域是否会逃离本方法)
AGE
OLD
-XX:PretenureSizeThreshold
TLAB
元数据指针
END
对齐补充padding
F
MajorGC完之后一般都会带着一次YGC
没有内存进行分配
TLAB空间一般不会太大(占用eden区),所以大对象无法进行TLAB分配。
Minor GC
Old GC
栈
Thread Local Allocation Buffer
收藏
0 条评论
下一页