vlambda博客
学习文章列表

37、垃圾回收器 — ParNew回收器

01

ParNew回收器:并行回收

  1. Serial GC是年轻代中的单线程垃圾收集器,ParNew收集器就是Serial 收集器的多线程版本

    • Par是Parallel的缩写,New是指只能处理新生代

  2. ParNew 收集器除了采用并行回收的方式执行内存回收之外,和Serial 没有区别。ParNew收集器在年轻代中同样是采用复制算法、STW机制

  3. ParNew 是很多JVM运行在Server模式下新生代默认的垃圾收集器。

  4. 垃圾收集器的选择

    • 新生代:回收次数频繁,使用并行方式高效

    • 老年代:回收次数少,使用串行方式节省资源(CPU并行需要切换线程,串行可以省去切换线程的资源)

  5. ParNew 和 Serial 收集器效率对比:

    • ParNew收集器在运行在多CPU的环境下,由于可以充分利用多CPU、多核心等物理硬件资源优势,可以更快速地完成垃圾收集,提高程序的吞吐量

    • 在单个CPU环境下,ParNew效率比Serial低。因为Serial收集器是串行回收,CPU不需要频繁切换线程,避免了切换线程的开销。


02

ParNew回收器:参数设置

  1. -XX:UseParNewGC:表明新生代使用 ParNew 垃圾收集器

  2. -XX:ParallelGCThreads:限制线程数量,默认开启和CPU数据相同的线程数




扫码关注我




你们点点“分享”,给我充点儿电吧~