Skip to content
极高进阶

一句话答案

堆分新生代(Eden:S0:S1=8:1:1)和老年代,新对象在 Eden 分配,GC 存活后复制到 Survivor,年龄达 15 晋升老年代。

核心要点

新生代: Eden(80%) + S0(10%) + S1(10%)

GC流程: Eden满→Minor GC→存活复制到S1→年龄+1→达阈值(默认15)→晋升老年代

大对象直接进老年代:超过 -XX:PretenureSizeThreshold

追问与易错

追问方向:

  • 为什么 Eden 和 Survivor 比例是 8:1:1?
  • 大对象直接进老年代的阈值是多少?
  • 对象什么时候晋升老年代?

易错点:

  • ❌ 所有对象都从 Eden 分配——大对象直接进老年代
  • ❌ 混淆 Minor GC 和 Full GC 的触发条件

💡 记忆锚点

新生代是幼儿园(Eden占80%是操场),两个Survivor是轮换教室(各10%),每次GC存活就转学一次年龄+1,熬过15次的"老员工"晋升老年代。大对象(超大件行李)不进幼儿园,直接入住老年代。