自我理解
minorJC在eden之后,会进行S0的判断,看看有没有对象移除,和有没有对象进入老年代
发生之前的判断?
--判断老年代最大可用的连续空间是否大于新生代所有对象总空间
--如果不成立,HandlePromotionFailure是否允许担保失败。
--如果允许,那么会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果大于,将尝试着进行一次Minor GC,尽管这次Minor GC是有风险的;
--如果小于,或者HandlePromotionFailure设置不允许冒险,那这时也要改为进行一次Full GC
发生在哪里?
--Eden
满了,发生minorjc,将对象移动到S0
--S0
当其中有对象年龄超过15,发生minorJC,移动到老年代
某一个年龄的总和大小,等于S0的一半,将大于等于该年龄的对象都移动到老年代