JVM堆的分代机制
目录
堆内存的主要分代
1. 年轻代(Young Generation)
2. 老年代(Old Generation/Tenured Generation)
3. 永久代/元空间(PermGen/Metaspace)
分代垃圾回收过程
分代设计的优势
相关JVM参数
Java虚拟机的堆内存采用分代收集算法,将堆划分为不同的区域,以便更高效地管理内存和进行垃圾回收。这种设计基于两个重要观察:
-
弱代假说(Weak Generational Hypothesis):绝大多数对象都是"朝生夕死"的
-
跨代引用假说(Intergenerational Reference Hypothesis):跨代引用相对于同代引用来说只是极少数
堆内存的主要分代
1. 年轻代(Young Generation)
-
特点:
-
存放新创建的对象
-
占堆内存的较小部分(通常1/3)
-
垃圾回收频繁(Minor GC)
-
-
细分区域:
-
Eden区(伊甸园):新对象首先分配在这里
-