JVM 年轻代到年老代的晋升过程的判断条件是什么呢
发布网友
发布时间:2023-02-15 03:59
我来回答
共1个回答
热心网友
时间:2023-07-16 05:53
1:部分对象会在From和To区域中复制来复制去,如此交换15次(由JVM参数MaxTenuringThreshold决定,这个参数默认是15),最终如果还是存活,就存入到老年代。
2:如果对象的大小大于Eden的二分之一会直接分配在old,如果old也分配不下,会做一次majorGC,如果小于eden的一半但是没有足够的空间,就进行minorgc也就是新生代GC。minor gc后,survivor仍然放不下,则放到老年代
3:动态年龄判断 ,大于等于某个年龄的对象超过了survivor空间一半 ,大于等于某个年龄的对象直接进入老年代