jvm垃圾回收机制&&老年代空间担保机制
2020-07-06 09:59:23 0 举报
jvm垃圾回收机制
作者其他创作
大纲/内容
是
尝试young GC
OOM
young(parNew垃圾回收器)标记-复制算法,并发回收
否
s1
是否设置-XX:-HandlerPromotionFailure
老年代是否有足够空间存放
eden
注:jdk1.7以后,此参数被废弃,默认直接判断老年代 >历次进入老年代存活对象大小
每次young GC前判断
标记-复制算法
进入老年代
老年代可用内存是否大于新生代所有对象总大小
full gc
剩余存活对象是否大于s区总内存
young GC后存活对象内存大于s区可用内存直接进入老年代
默认超过15次young gc会进入老年代,可通过-XX:MaxTenuringThreshold调整
young GC
动态对象年龄判断,s区对象总和大于s区内存一半,年龄大于等于n的对象会直接进入老年代
对象优先分配在年轻代的eden与s1区上,如果eden与s1内存不足,触发young GC,采用标记-复制算法,把存活对象复制到s2,垃圾对象清理掉。
Full GC
大于S区小于老年代
进入S区
老年代大小是否大于之前每一次young GC后进入老年代的对象的平均大小
s2
老年代
老年代内存是否足够
进入s区
大于S区大于老年代
young GC后存活对象大小小于s区大小
old(CMS垃圾回收器)初始标记(stw)并发标记重新标记(stw)并发清理
年轻代
0 条评论
下一页