Java垃圾收集器主要有以下几种:
1、Serial 收集器。最简单的收集器,单线程,仅有一条垃圾收集线程。执行的时候要停掉所有正在执行的其他线程
2、ParNew 收集器。Serial收集器的多线程版本。除了使用多线程收集外,其他(控制参数、收集算法、回收策略等等)的都与Serial一样
3、Parallel Scavenge收集器。与Par New一样,也是一种多线程收集器,它是JDK 1.8默认的收集器。关注的是吞吐量,即CPU的高效利用
4、CMS 收集器 (Concurrent Mark Sweep)。一款并发收集器。它第一次实现了垃圾收集线程与用户线程并行工作。它以实现最短回收停顿时间为目标
5、G1 收集器。主要面向服务器的垃圾收集器,在多CPU和大内存场景下有很好的性能。以极高的概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征