美文网首页
JVM学习(8)串行回收器和并行回收器

JVM学习(8)串行回收器和并行回收器

作者: 陈阳001 | 来源:发表于2018-08-02 23:07 被阅读0次

    一.串行回收器

    串行回收器是指使用单线程进行垃圾回收的回收器。每次回收只有一个工作线程,对于并行能力较弱的pc来说,串行回收器的专注性和独占性有较好的性能表现。

    特点:

    • 单线程进行垃圾回收。
    • 独占式的垃圾回收。

    优点:

    • 最古老而且稳定。
    • 对于并行能力较弱(cpu核数少)的pc来说效果好。
    • 单线程没有线程切换的开销

    缺点:

    • 可能会产生较长的停顿:
      串行回收器回收时,java应用程序中的线程需要暂停等待,等待垃圾回收的完成。这种现象叫“Stop-The-World”.这样造成很差的用户体验,在实时性要求高德应用场景中,这种现象是不能被接受的。


      image.png

    新生代串行回收器:

    回收算法使用复制算法。
    使用方法:-XX:+UseSerialGC指定使用新生代串行回收器和老年代串行回收器。
    一次新生代串行回收器对垃圾的回收:

    image.png

    老年代串行回收器:

    回收算法使用标记删除算法。
    缺点:由于老年代的空间比新生代的空间大,所以应用程序可能会因此停顿较长的时间。
    使用方法:

    • -XX:+UseSerialGC 指定使用新生代串行回收器和老年代串行回收器。
    • -XX:+UseParNewGC 新生代使用ParNew回收器,老年代串行回收器。
    • -XX:+UseParallelGC 新生代使用并行回收器,老年代串行回收器。

    相关文章

      网友评论

          本文标题:JVM学习(8)串行回收器和并行回收器

          本文链接:https://www.haomeiwen.com/subject/nojevftx.html