标记-清除算法:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。
不足:1.效率问题
2.空间问题,标记清除后会产生大量不连续的内存碎片,在分配较大对象时,无法找到足够的连续内存
复制算法:将内存按容量大小划分为大小相等两块,每次只使用一块。当这块内存用完了,就将还存活的对象复制到另外一块,然后再把已使用过的内存空间一次性清理掉。
标记-整理算法:标记过程与标记-清除算法一样,然后让所有存活对象向一端移动,然后直接清理掉端边界以外的内存不足:内存缩小为原来一半,代价太高
分代收集算法:根据对象存活周期的不同将内存划分为几块,然后每块再根据情况采用上述的几种算法进行回收