代:0代,1代,2代; 所谓第几代,指经历过GC回收的次数。 回收算法: 1、确认需要检查的代。 在分配新对象时, 如果第0代已满,则进行检查;如果第1代已满,则进行检查;第2代同理; 如第0代没有足够的空间分配给新对象,则对第1代进行检查,第2代同理; 如果所有代都没有足够空间分配给新对象,则抛出内存溢出异常。 2、在特定代上进行:标记(有根标记) – > 压缩 – > 回收。