垃圾回收主要有3个阶段
第 0 代:所有的短期对象,例如临时变量,都包含在堆内存的第 0 代中。 所有新分配的对象也隐含地是第 0 代对象,除非它们是大对象。 一般来说,垃圾回收的频率在 0 代最高。
第 1 代:如果某些第 0 代对象占用的空间在垃圾收集运行时未释放,则这些对象将移至第 1 代。这一代中的对象是第 0 代中的短期对象和第 0 代中的短期对象之间的一种缓冲区。 第 2 代中的长寿命对象。
第 2 代:如果某些第 1 代对象占用的空间在下一次垃圾收集运行时未释放,则这些对象将移至第 2 代。第 2 代中的对象是长寿命的,例如静态对象,因为它们保留在堆内存中 整个过程持续时间。
说明