认识JVM串行和并行垃圾回收器

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了认识JVM串行和并行垃圾回收器相关的知识,希望对你有一定的参考价值。

JVM垃圾回收器有多种;先认识一下串行和并行垃圾回收器;

一、串行垃圾回收器


在JDK1.3之前,单线程回收器是唯一的选择。
它进行垃圾回收的时候,必须暂停其它所有的工作线程(Stop The World,STW),直到它收集完成。
它适合Client模式的应用,在单CPU环境下,它效率高效,由于没有线程交互的开销,专心垃圾收集自然可以获得最高的单线程效率。

串行的垃圾收集器有两种,Serial和Serial Old,一般两者搭配使用。


二、并行垃圾回收器

并行垃圾回收器是通过多线程进行垃圾收集的。也会暂停其它所有的工作线程(Stop The World,STW)。
适合Server模式以及多CPU环境。一般会和JDK1.5之后出现的CMS搭配使用。并行的垃圾回收器有以下几种:

ParNew:Serial收集器的多线程版本,

Parallel Scavenge: 关注吞吐量,吞吐量优先,吞吐量=代码运行时间/(代码运行时间+垃圾收集时间),也就是高效率利用CPU时间,

Parllel Old:Parallel Scavenge的老年代版本。JDK 1.6开始提供的。有了Parllel Old之后,通过-XX:+UseParallelOldGC参数使用Parallel Scavenge + Parallel Old器组合进行内存回收。

以上是关于认识JVM串行和并行垃圾回收器的主要内容,如果未能解决你的问题,请参考以下文章

JVM系列第9讲:JVM垃圾回收器

JVM垃圾回收器

JVM 之GC垃圾回收器参数设置

JVM-13. 垃圾回收器

《JVM系列》 第九章 -- 垃圾回收器

JVM垃圾收集器