ParNew收集器采用并行回收的方式执行内存回收,处理新生代垃圾回收,采用的是复制算法、STW机制。ParNew收集器是很多JVM运行在server模式下新生代的默认垃圾收集器。
对于新生代,回收次数频繁,使用并行方式高效。
对于老年代,回收次数少,使用串行方式更节省资源。(CPU并行需要切换线程,串行可以省去切换线程的资源)
ParNew收集器运行在多CPU环境下,由于可以充分利用多CPU、多核等物理硬件资源的优势,可以更快的完成垃圾收集,提升程序的吞吐量。
但是在单个CPU的环境下,ParNew收集器不比Serial收集器更高效。虽然Serial收集器是基于串行回收,但是由于CPU不需要频繁地做任务切换,因此可以有效避免多线程交互过程中产生的一些额外开销。
除Servial外,目前只有ParNew GC能与CMS收集器配合工作。
开发中可以通过参数 +XX:+UseParNewGC 手动指定使用ParNew收集器执行内存回收任务。它表示年轻代使用并行收集器,不影响老年代。-XX:ParallelGCThreads限制线程数量,默认开启和CPU数据相同的线程数。
还没有评论,快来发表第一个评论!