JVM 年轻代到年老代的晋升过程的判断条件是什么呢

1:部分对象会在From和To区域中复制来复制去,如此交换15次(由JVM参数MaxTenuringThreshold决定,这个参数默认是15),最终如果还是存活,就存入到老年代。

2:如果对象的大小大于Eden的二分之一会直接分配在old,如果old也分配不下,会做一次majorGC,如果小于eden的一半但是没有足够的空间,就进行minorgc也就是新生代GC。minor gc后,survivor仍然放不下,则放到老年代

3:动态年龄判断 ,大于等于某个年龄的对象超过了survivor空间一半 ,大于等于某个年龄的对象直接进入老年代



posted @ 2022-04-08 15:51  甜菜波波  阅读(361)  评论(0编辑  收藏  举报