JVM中对象在什么情况下会进入到老年代?

提问者:帅平 问题分类:面试刷题
JVM中对象在什么情况下会进入到老年代?
Jvm
1 个回答
西瓜女皇
西瓜女皇
下面4种情况,对象会进入到老年代中:
1、YGC时,To Survivor区不足以存放存活的对象,对象会直接进入到老年代。
2、经过多次YGC后,如果存活对象的年龄达到了设定阈值,则会晋升到老年代中。
3、动态年龄判定规则,To Survivor区中相同年龄的对象,如果其大小之和占到了 To Survivor区一半以上的空间,那么大于此年龄的对象会直接进入老年代,而不需要达到默认的分代年龄。
4、大对象:由-XX:PretenureSizeThreshold启动参数控制,若对象大小大于此值,就会绕过新生代, 直接在老年代中分配。
发布于:4周前 (04-02) IP属地:四川省
我来回答