- Serial New(串行新生代收集器):这个收集器主要用于新生代,采用复制算法。它将新对象复制到一块干净的内存区域,并且在收集过程中会暂停应用程序的执行。
- Parallel New(并行新生代收集器):与串行新生代收集器类似,也用于新生代,采用复制算法。不同之处在于它使用多线程来加速垃圾收集过程,提高了吞吐量。
- Parallel Scavenge(并行Scavenge收集器):与并行新生代收集器类似,也是用于新生代的复制收集器,但它更加关注系统吞吐量的优化,而非最短暂停时间。
- Serial Old(串行老年代收集器):这个收集器主要用于老年代,新生代采用复制算法,老年代采用标记整理算法。它的主要优势在于简单,但不适合高吞吐量应用。
- Parallel Old(并行老年代收集器):用于老年代,采用标记整理算法。它使用多线程来提高老年代的垃圾收集效率。
- CMS(Concurrent Mark-Sweep)收集器:CMS基于标记清理算法,主要用于老年代。它致力于减少应用程序停顿时间,通过并发标记和清理阶段来实现。
- G1(Garbage First)收集器:G1是一种全新的垃圾收集器,整体上是基于标记整理,但在局部采用复制算法。它的目标是在减小停顿时间的同时实现高吞吐量和内存利用率的平衡。