ParNew垃圾回收器(学习笔记)
基本概念
ParNew收集器是Serial收集器的多线程版本。
- Par是Parallel的缩写
- New表示只能处理新生代
ParNew收集器再新生代中仍然采用复制算法、STW机制。
ParNew是很多JVM运行再Server端的默认垃圾回收器。
对于新生代,回收器次数频繁,使用并行方式高效。
对于老年代,回收次数少,使用串行节省资源(这CPU切换线程)。
ParNew一定比Serial更好吗?
- 多CPU场景下,ParNew可以充分利用多CPU、多核心的物理硬件优势,可以更快地完成垃圾回收,提升程序吞吐量。
- 单CPU场景下,ParNew的多个线程反而会相互竞争资源,进而器效率反而不如Serial。
如何开启
-XX:+UseParNewGC
参数可以指定年轻代的垃圾收集器为ParNew。
-XX:ParallelGCThreads
可以限制GC线程数量,JVM默认开启和CPU数量相同的线程数。