1) 复制算法
复制算法讲内存分为相等的两份,当一块用完了,就将还存活的对象复制到另外一块,然后清楚这块内容。特点:速度快、浪费资源。一般新生代使用此法。
2) 标记整理算法
一般适用于老年代,将活跃的对象向一侧移动,然后将边界外的对象清除掉。
3) 标记清除算法
一般标记和清除的算法都不会太高,而且处理完后会产生很多的内存碎片。一旦大的对象无法申请到足够内存空间时,会触发新的一次gc。
4) 分代收集算法
根据不同的分代(新生代、老年代、永久代),采用不同的算法。不同的算法,会对应不同的垃圾回收器。