垃圾收集器
一 Serial收集器
是最基本、最历史悠久的一个收集器,是一个单线程的收集器,但它的"单线程"的意义不仅仅是说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。

二 ParNew收集器
ParNew收集器其实就是Serial收集器的多线程版本,是许多运行在Server模式下的虚拟机中首选的新生代收集器,因为除了Serial收集器外,目前只有它能与CMS收集器配合工作。

三 Parallel Scavenge收集器
Parallel Scavenge收集器是一个使用复制算法的并行的多线程的新生代收集器。该收集器与其他收集器不同,CMS等收集器的关注点是尽可能地缩短垃圾收集时用户线程的停顿时间,而Parallel Scavenge收集器的目标是达到一个可控制的吞吐量。所谓吞吐量就是CPU用于运行用户代码的时间与CPU总消耗时间的比值,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)。
四 Serial Old收集器
Serial Old是Serial收集器的老年代版本,同样是一个单线程收集器,使用"标记-整理"算法。
五 Parallel Old收集器
Parallel Old是Parallel Scavenge收集器的老年代版本,使用多线程和"标记-整理"算法。

六 CMS收集器
CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收时间为目标的收集器,是基于"标记-清除"算法实现的。


浙公网安备 33010602011771号