1.Serial收集器
特点:
a.最基本,发展最悠久的收集器
b.单线程垃圾收集器
c.桌面应用使用的比较多
2.parnew收集器
1、特点
ParNew收集器是JAVA虚拟机中垃圾收集器的一种。它是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数(例如:-XX:SurvivorRatio、-XX:PretenureSizeThreshold、-XX:HandlePromotionFailure等)、收集算法、Stop The World、对象分配规则、回收策略等都与Serial收集器一致。
2、现状
ParNew是许多运行在Server模式下的虚拟机中首选的新生代收集器,在JDK1.6以及之前的版本中,除了Serial收集器外,只有它能与CMS收集器配合工作。
在JDK 1.5时期,HotSpot推出了一款在强交互应用中几乎可称为有划时代意义的垃圾收集器—CMS收集器(Concurrent Mark Sweep,本节稍后将详细介绍这款收集器),这款收集器是HotSpot虚拟机中第一款真正意义上的并发(Concurrent)收集器,它第一次实现了让垃圾收集线程与用户线程(基本上)同时工作,用前面那个例子的话来说,就是做到了在你妈妈打扫房间的时候你还能同时往地上扔纸屑。
所以在JDK 1.5中使用CMS来收集老年代的时候,新生代只能选择ParNew或Serial收集器中的一个。ParNew收集器也是使用 -XX:+UseConcMarkSweepGC选项后的默认新生代收集器,也可以使用 -XX:+UseParNewGC选项来强制指定它。
3.parallel收集器
特点:
a.使用复制算法(新生代收集器)
b.多线程收集器
c.达到可控制的吞吐量
jvm参数:
-XX :MaxGCPauseMillis 垃圾收集器最大停顿时间
-XX:GCTimeRatio 吞吐量大小(0-100)
4.CMS收集器
工作过程:
初始标记
并发标记
重新标记
并发清理
优缺点:
优点:并发收集,低停顿
缺点:占用大量的CPU资源,无法处理浮动垃圾,出现Concurrent Mode Failure