新生代(Young Generation)
1、特点:
对象生命周期短:新生代主要用于存放新创建的对象,这些对象通常具有较短的生命周期,会频繁地进行垃圾回收。 Minor GC频繁:由于新生代中的对象生命周期短,且空间有限,当空间不足时,会触发垃圾回收,即Minor GC(或称为Young GC)。 多数对象会被回收:由于对象生命周期短,大部分对象会在Minor GC中被回收,只有少数对象会晋升到老年代。 采用复制算法:新生代采用复制算法进行垃圾回收。当发生Minor GC时,存活的对象会被复制到Survivor区域,不再存活的对象会被回收。
2、作用:
存放新创建的对象,利用复制算法快速地进行垃圾回收,优化内存使用效率。
老年代(Old Generation)
1、特点:
对象生命周期长:老年代主要用于存放长时间存活的对象。这些对象在经过多次Minor GC后仍然存活,因此被晋升到老年代。 内存空间较大:由于老年代中存放的对象存活时间较长,因此需要更大的内存空间来存储这些对象。 Major GC或Full GC:当老年代空间不足时,会触发Major GC(全局垃圾回收)或Full GC(完全垃圾回收)。与Minor GC相比,Major GC的速度较慢。
2、作用:
存放长时间存活的对象,保证程序的稳定运行。 在空间不足时,通过Major GC或Full GC来回收无用对象,释放内存空间。