标记-清除算法:首先标记所有需要回收的对象,然后统一回收所有被标记的对象。


复制算法:将可用内存分为两个区域,每次只使用其中一个区域。当该区域用完后,将还存活着的对象复制到另一个区域中,再将原来的区域全部清空。


标记-整理算法:标记出所有需要回收的对象,然后将所有存活的对象向一端移动,最后将端边界之外的内存全部回收。


分代算法:根据对象的生命周期将内存划分为不同的区域,然后对不同的区域采用不同的回收策略。通常将新生的对象放入年轻代,年轻代采用复制算法;将存活时间较长的对象放入老年代,老年代采用标记-整理算法。