JVM经典垃圾回收器之 serial 收集器 和 serialOld 收集器

   Serial 收集器是最基础、历史最悠久的收集器,曾经(JDK1.3.1之前) 是HotSpot 新生代收集器的唯一选择,对应的老年代是 Serial Old 收集器。

   Serial:基于 复制算法,Serial Old:基于标记-整理算法。

   两大特点:

   1.使用一个处理器或一条收集线程取完成垃圾收集工作;

   2.进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。

   缺点:

   多线程环境下,效率低下。

   优点:

    1.简单而高效,迄今为止仍然时HotSpot 虚拟机允许在 客户端模式(也就是32bit)下的默认新生代收集器;

    2.在所有收集器里额外内存消耗最小。

    测试目的:多线程环境下 同一程序 parallelGC和 serial 回收器比较

    测试环境:   JDK8 IDEA

    测试介绍:

    +UseParallelGC  新生代使用 parallel scavenge,老年代使用 serialOld(PS markSweep)

    +UserSerialGC  新生代使用 serial ,老年代使用 serialOld

    测试过程: 

        -XX:+UseParallelGC   parallelGC,这里可以不用加该参数 ,该垃圾回收期为 jdk8默认的垃圾回收器

JVM经典垃圾回收器之 serial 收集器 和 serialOld 收集器

 

 多线程环境下限制GC回收线程数为1,总花费时间上升JVM经典垃圾回收器之 serial 收集器 和 serialOld 收集器

 

 

  多线程环境下, Serial 效率较低JVM经典垃圾回收器之 serial 收集器 和 serialOld 收集器

 

总结:多线程环境下不建议使用 serial 收集器,但是单线程环境下建议使用。

JVM经典垃圾回收器之 serial 收集器 和 serialOld 收集器

上一篇:2.面向对象基础-04继承


下一篇:【算法】关于图论中的最小生成树(Minimum Spanning Tree)详解