对象进入老年代的四种情况

1.存活对象达到年龄阈值(默认为15)
2.大对象直接进入老年代(超过了JVM中-XX:PretenureSizeThreshold参数的设置)
所以在写程序的时候要尽量避免大对象,更要尽量避免朝生夕死的大对象,经常出现大对象容易导致内存还有不少空间时就提前触发垃圾收集以获取足够的连续空间来安置他们。
3.幸存者区中如果有相同年龄的对象所占空间大于幸存者区的一半,那么年龄大于等于该年龄的对象就可以直接进入老年代。(动态对象年龄判定)
4.MGC后,S区空间不能容纳全部存活对象,直接进入老年代。

你可能感兴趣的:(对象进入老年代的四种情况)