垃圾收集算法是 内存回收的理论基础,而垃圾收集器就是内存回收的具体实现。
最好的G1
6.G1收集器 是当今收集器技术发展最前沿的成果,它是一款面向服务端应用的收集器,它能充分利用多CPU、多核环境。因此它是一款并行与并发收集器,并且它能建立可预测的停顿时间模型。
新生代
1.Serial/Serial Old收集器
是最基本最古老的收集器,它是一个单线程收集器,并且在它进行垃圾收集时,必须暂停所有用户线程。Serial收集器是针对新生代的收集器,采用的是Copying算法,
2.ParNew收集器
是Serial收集器的多线程版本,使用多个线程进行垃圾收集。
3.Parallel Scavenge(Parallel Scavenge并行清除)收集器
是一个新生代的多线程收集器(并行收集器),它在回收期间不需要暂停其他用户线程,其采用的是Copying算法,该收集器与前两个收集器有所不同,它主要是为了达到一个可控的吞吐量。
老年代
1. Serial Old收集器是针对老年代的收集器,采用的是Mark-Compact算法。它的优点是实现简单高效,但是缺点是会给用户带来停顿。
4.Parallel Old收集器
是Parallel Scavenge收集器的老年代版本(并行收集器),使用多线程和Mark-Compact算法。
5.CMS(Concurrent Mark Sweep)并发标记清除 收集器
是一种以获取最短回收停顿时间为目标的收集器,它是一种并发收集器,采用的是标记清除算法。