面试1、标记-清楚算法对活着的对象做标记没有被标记的对象会被回收掉。2、复制算法把内存分成两块每次只用一块在正在使用的这一块里分配内存还活着的对象分类到另一块然后把原来的那一块整块清空。3、标记-压缩算法先标记存活对象把标记对象向一端移动直接清理边界以外的内存。4、分代收集算法把java堆分成新年代和老年代根据各个年代的特点采用最适当的收集算法。