垃圾回收器的分类

垃圾回收器分为新生代和老年代垃圾回收器。

新生代垃圾回收器:Serial(单线程)、ParNew(多线程)、Parallel Scavenge(多线程)

老年代垃圾回收器:Serial Old(单线程)、Parallel Old(多线程)、CMS(标记-清除算法)

整堆回收器:G1

新生代垃圾回收器一般采用复制算法回收垃圾,优点是效率高,缺点是内存利用率低

老年代垃圾回收器一般采用标记-整理算法

 

Serial:最早的单线程串行垃圾回收器。
Serial Old:Serial 垃圾回收器的老年版本,同样也是单线程的,可以作为 CMS 垃圾回收器的备选预案。
ParNew:是 Serial 的多线程版本。
Parallel 和 ParNew 收集器类似是多线程的,但 Parallel 是吞吐量优先的收集器,可以牺牲等待时间换取系统的吞吐量。
Parallel Old 是 Parallel 老生代版本,Parallel 使用的是复制的内存回收算法,Parallel Old 使用的是标记-整理的内存回收算法。
CMS:一种以获得最短停顿时间为目标的收集器,非常适用 B/S 系统,采用标记-清楚算法进行回收,当剩余内存不足时,会临时采用Serial Old回收垃圾,性能将会降低。
G1:一种兼顾吞吐量和停顿时间的 GC 实现,是 JDK 9 以后的默认 GC 选项。

 

你可能感兴趣的:(jvm)