2021-01-03:java中,描述一下什么情况下,对象会从年轻代进入老年代?

福哥答案2021-01-03:

1.对象的年龄超过一定阀值,-XX:MaxTenuringThreshold 可以指定该阀值。
2.动态对象年龄判定,有的垃圾回收算法,比如 G1,并不要求 age 必须达到 15 才能晋升到老年代,它会使用一些动态的计算方法。
3.大小超出某个阀值的对象将直接在老年代上分配,值默认为 0,意思是全部首选 Eden 区进行分配,-XX:PretenureSizeThreshold 可以指定该阀值,部分收集器不支持。
4.分配担保,当 Survivor 空间不够的时候,则需要依赖其他内存(指老年代)进行分配担保,这个时候,对象也会直接在老年代上分配。
***
[评论](https://user.qzone.qq.com/3182319461/blog/1609631672)

posted @ 2021-01-03 22:28  福大大架构师每日一题  阅读(296)  评论(0编辑  收藏  举报