Eden区是新生对象默认分配地,占新生代约80%,其设计基于“弱分代假说”,通过快速分配和高频Minor GC高效回收90%以上短命对象。

因为绝大多数新创建的对象生命周期极短,往往在下一次 Minor GC 前就已不再被引用——这正是“弱分代假说”的核心观察,也是 Eden 区设计的根本依据。
Eden 是新生对象的默认起点
JVM 默认将所有新对象(除大对象外)分配到 Eden 区。这里没有历史负担,空间连续,分配只需移动指针(bump-the-pointer),速度极快。对象一出生就进入高淘汰率区域,符合“朝生夕灭”的现实分布。
Minor GC 频繁清理 Eden,自然筛掉短命对象
- Eden 区占新生代约 80%(默认 Eden:Survivor=8:1:1),它填满是触发 Minor GC 的主要信号;
- 一次 Minor GC 就能回收 Eden 中 90% 以上的对象——它们从未被任何存活对象引用,GC Roots 扫描后直接判定为垃圾;
- 真正能活下来的,通常只是少数被局部变量、栈帧或静态字段强引用的对象。
Survivor 区不是“养老院”,而是年龄筛选器
从 Eden 幸存下来的对象被复制到一个 Survivor 区(如 S0),每经历一次 Minor GC 且仍存活,年龄 +1。这个过程本身就在持续过滤:大量在 Survivor 中只待 1–2 轮就变成垃圾的对象,根本撑不到晋升老年代。真正能熬过多次 GC 的,反而是特例。
对象消亡本质是引用关系断裂,而Eden最易发生这种断裂
方法内创建的临时对象(如 StringBuilder、包装类、循环中间变量等),其引用链通常随方法栈帧弹出而立即失效。这类对象集中在 Eden 分配,也集中在此失去所有可达路径。没有跨代引用干扰(跨代引用假说指出:互相引用的对象倾向同生共死),Eden 内部的 GC 可以高效、孤立地完成回收。

















