jvm垃圾回收流程图
2020-11-10 13:46:22 0 举报
jvm垃圾回收流程图
作者其他创作
大纲/内容
majorGC
作为剩余存活对象
eden区剩余空间可以放下?
遍历剩余存活对象
年龄小于本次晋升年龄?
否
放入老年代
老年代可以放下所有存活对象?
新生对象
结束
老年代能否放下该对象
交换s0、s1
是
未结束
触发majorGC
不小于survivor区总大小?
不小于-XX:PretenureSizeThreshold设定阈值?
新建对象
年龄+1放入s1区
动态年龄
遍历存活对象
majorGC就是使用使用标记清除、标记整理对老年代内存进行清理,不存在复杂流程不同垃圾回收器处理方式不同
minorGC
开始
放入eden区
触发minorGC
标记eden、s0区存活对象
不小于eden区总大小?
内存担保
将所有存活对象,按照年龄从小到大,将对象大小进行累加,累加和 > (-XX:TargetSurvivorRatio * survivor区大小)时,取该年龄和 -XX:MaxTenuringThreshold 中最小值作为本次晋升年龄
收藏
收藏
0 条评论
下一页