参考答案
- 对象的年龄超过一定阀值,-XX:MaxTenuringThreshold 可以指定该阀值。
- 动态对象年龄判定,有的垃圾回收算法例如 G1,并不要求 age 必须达到 15 才能晋升到老年代,它会使用一些动态的计算方法。
- 大小超出某个阀值的对象将直接在老年代上分配,值默认为 0,意思是全部首选 Eden 区进行分配,-XX:PretenureSizeThreshold 可以指定该阀值,部分收集器不支持。
- 分配担保,当 Survivor 空间不够的时候,则需要依赖其他内存(指老年代)进行分配担保,这个时候,对象也会直接在老年代上分配。
以上,是JVM面试题【什么情况下,对象会从年轻代进入老年代】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—