Java虚拟机(JVM)垃圾回收器ParNew收集器

作者: Arvin Chen 分类: Java面试题 来源: Break易站(www.breakyizhan.com)

ParNew收集器

ParNew垃圾收集器是Serial收集器的多线程版本

1、特点

除了多线程外,其余的行为、特点和Serial收集器一样;

Serial收集器可用控制参数、收集算法、Stop The World、内存分配规则、回收策略等;

两个收集器共用了不少代码;

      ParNew/Serial Old组合收集器运行示意图如下:

2、应用场景

在Server模式下,ParNew收集器是一个非常重要的收集器,因为除Serial外,目前只有它能与CMS收集器配合工作

但在单个CPU环境中,不会比Serail收集器有更好的效果,因为存在线程交互开销。

3、设置参数

      "-XX:+UseConcMarkSweepGC":指定使用CMS后,会默认使用ParNew作为新生代收集器;

      "-XX:+UseParNewGC":强制指定使用ParNew;

      "-XX:ParallelGCThreads":指定垃圾收集的线程数量,ParNew默认开启的收集线程与CPU的数量相同;

4、为什么只有ParNew能与CMS收集器配合

CMS是HotSpot在JDK1.5推出的第一款真正意义上的并发(Concurrent)收集器,第一次实现了让垃圾收集线程与用户线程(基本上)同时工作;

CMS作为老年代收集器,但却无法与JDK1.4已经存在的新生代收集器Parallel Scavenge配合工作;

因为Parallel Scavenge(以及G1)都没有使用传统的GC收集器代码框架,而另外独立实现;而其余几种收集器则共用了部分的框架代码;

关于CMS收集器后面会详细介绍。

  •   本文标题:Java虚拟机(JVM)垃圾回收器ParNew收集器 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/2852.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注