CS-Notes 学习笔记
Java 后端 · Java 虚拟机

对象在什么情况下进入老年代?

先自己想一想,再看参考要点

参考要点

  • 经过多次 Minor GC 后年龄达到 MaxTenuringThreshold
  • 动态年龄判定(以 Serial 为例,G1 和 Parallel 的计算方式不同):Minor GC 结束时从小到大累加 Survivor 中各年龄对象的大小,超过 Survivor 一半时,取这个年龄和 MaxTenuringThreshold 中较小的值作为新阈值,下一次 Minor GC 时大于或等于它的对象晋升
  • Minor GC 时 Survivor 放不下的存活对象直接进入老年代
  • 大对象直接进入老年代(Serial 的 PretenureSizeThreshold,G1 中超过 Region 一半的 Humongous 对象)
在学习站中自测这道题看这道题所在的一天

学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。