垃圾收集器

2020-01-16  本文已影响0人  修塔寻千里

Serial收集器

Serial收集器是最基本、发展历史最悠久的收集器。这个收集器是一个单线程的收集器,它在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。它有着优于其他收集器的特点:简单而高效(与其他收集器单线程比),对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率,Serial收集器多运行在Client模式下的虚拟机。

ParNew收集器

ParNew收集器其实是Serial收集器的多线程版本,多运行在Server模式下的虚拟机新生代的收集器,目前也是只有它可以与CMS收集器配合工作。

Parallel Scavenge收集器

是一个新生代收集器,使用复制算法,又是并行的多线程收集器,Parallel Scavenge收集器的目标是达到一个可控制的吞吐量(Throughput)。所谓吞吐量是指CPU用于运行用户代码的时间与CPU总耗时的比值,即吞吐量= 运行用户代码时间 / (运行用户代码时间+运行垃圾收集时间)。

Serial Old收集器

Serial Old是Serial 收集器的老年代版本,同样是一个单线程收集器,使用“标记-整理”算法。主要给Client模式下的虚拟机使用,如果再Server模式下,主要有2个用途:一是与Parallel Scavenge收集器搭配使用,而是作为CMS收集器的后备预案。

Parallel Old收集器

Parallel Old是Parallel Scavenge收集器的老年代版本,使用多线程和“标记-整理”算法。

CMS收集器

CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收时间停顿为目标的收集器。基于“标记-清楚”算法实现,并发收集、低停顿,整个运行过程分为4步:

G1收集器

G1(Garbage-First)是一款面向服务端应用的垃圾收集器,具有以下特点:

参考资料

上一篇 下一篇

猜你喜欢

热点阅读