垃圾收集器

JAVA学习网 2017-10-26 09:26:02

Serial:

  1.单线程垃圾收集器,只会使用一个CPU或者一条线程执行垃圾收集工作。

  2.必须暂停所有其它线程

  3.新生代垃圾收集器,使用复制算法

  依然是虚拟机Client模式下的默认新生代收集器

ParNew:

  1.ParNew是Serial的多线程的版本

  2.新生代垃圾收集器,复制算法

  3.暂停所有用户线程

  4.被频繁使用的原因:除了Serial外,唯一可以和CMS垃圾收集器配合使用的新生代收集器

  5.配置-XX:+UseConcMarkSweepGC选项后,默认使用的新生代垃圾收集器为ParNew

  6.使用-XX:+UseParNewGC

  ParNew在单个CPU情况下绝对不会比Serial有更好的垃圾收集效果,甚至在两个CPU情况下不一定比Serial好

Parrallel Scanvanger:

  1.新生代收集器,使用复制算法

  2.关注虚拟机的吞吐量,目标是达到一个可控制的吞吐量,吞吐量 = 运行用户代码时间/(运行用户代码时间+垃圾收集器停顿时间)。(CMS关注停顿时间)

  停顿时间越短越适合与用户交互的程序,良好的响应速度能提高用户的体验,高吞吐量则可以高效率的使用CPU时间,尽快的完成程序的运算,适合后台运算而不需要交互的程序。

 

  

阅读(757) 评论(0)