Java Heap(堆内存)由 Young Generation(新生代,约占 1/3 )和 Old Generation(老年代,约占 2/3 )组成。 Young Generation 又由 Eden Space(伊甸园区,占新生代 80% )、Survivor Space 0(幸存者区0,占新生代 10% )和 Survivor Space 1(幸存者区1,占新生代 10% )组成。 对象的生命周期:
Young Generation(新生代):
存储 新创建、存活周期极短 的对象,比如方法内的局部变量、临时对象。默认占堆总容量 1/3 。
触发 Minor GC(新生代 GC),频率极高(毫秒 / 秒级),但耗时极短(几十毫秒)。
Eden 区是 Minor GC 的 "触发源头",调大 Eden 区可减少 Minor GC 次数。
Eden Space(伊甸园区):新对象的 "默认出生地",99% 的新对象 都会优先分配到 Eden 区(除非是超大对象直接进入老年代)。占新生代 80% 。 Survivor Space 0/1(幸存者区 0/1,简称 S0/S1,也叫 From 区 / To 区):