GC收集器有哪些?CMS收集器与G1收集器的特点。

(1)串行的,也就是采用单线程(比较老了),分类:serial new(收集年轻代,复制算法)和serial old(收集老年代,标记整理),缺点:单线程,进行垃圾回收时暂时所有的用户线程。优点:实现简单。

(2)并行的,采用多线程,对于年轻代有两个: parallel new(简称ParNew)(参考serial new的多线程版本)和parallel scavenge;parallel scavenge是一个针对年轻代的垃圾回收器,采用复制算法,主要的优点是进行垃圾回收时不会停止用户线程(不会发生stop the world)

老年代回收器也有两种:Parallel old是parallel scavenge的我老年代设计的。CMS(并发标记清除),它采用标记清除算法,采用这种的优点就是快,因此会尽快的进行回收,减少停顿时间。

(3)高级杀手(最新):G1收集器,年轻代和老年代通吃,最新一代的技术。面向服务器端的垃圾收集器(并行+并发的垃圾收集器)。
注意区分并发和并行。并行是多条垃圾收集线程同时工作,用户线程是等待状态;
并发是用户线程用户和垃圾收集线程同时执行

猜你喜欢

转载自blog.csdn.net/FateRuler/article/details/81191488