Serial收集器是最基本、发展历史最悠久的收集器,曾经是虚拟机新生代收集的唯一标准,这个收集器是一个单线程的收集器,但是它的单线程不仅仅说明它只会使用一个CPU或者一个收集线程完成垃圾收集工作,更重要的是它在进行垃圾收集的时候,必须暂停掉其他的工作线程,直到它收集结束。他依然是现在虚拟机Client模式下默认新生代的收集器。由于现在的虚拟机管理内存在几个G左右,收集器处理的速度很快,所以简单高效的Serial仍然是一个很好的选择。
ParNew收集器其实就是Serial收集器的多线程版本,除了多线程收集之后,其他与Serial收集器相比没有太多创新的地方。但它却是虚拟机在Server模式下虚拟机首选的新生代收集器。其中一个与性能无关的原因是:除了Serial收集器,目前只有它能够与CMS收集器配合工作。(并发新生代)
Parallel Scavenge(清除)收集器是一个新生代收集器,又是并行的多线程收集器。它垃圾收集的目的则是为了达到一个可控的吞吐量,所谓的吞吐量就是运行用户代码的时间与CPU总消耗的时间的比值。(吞吐量优先收集器)。如果设置虚拟机的UserAdaptiveSizePolicy之后,虚拟机会根据当前系统的运行情况收集性能监控信息,动态调整这些参数以提供最合适的停顿时间或者最大的吞吐量,这种调节方式成为GC自适应的调节策略。