Serial Old
Serial的老年代版本,可作为CMS的后备预案<br>
Parallel Old
Parallel Scavenge的老年代版本,多线程,吞吐量优先
CMS
并发收集、低停顿
适用于当今互联网网站或基于浏览器的B/S系统的服务器上,这类应用通常都<br>较为关注服务的响应速度,尽量缩短系统的停顿时间,给用户更好的交互体验
流程
<b>初始标记</b>:标记GC Roots能直接关联到的对象,速度很快,<b>STW</b>
<b>并发标记</b>:从GC Roots的直接关联对象开始遍历整个对象图,耗时长
<b>重新标记</b>:修正并发标记期间可能造成的改动,相比初始标记<b>STW</b>略长
<b>并发清除</b>:清除标记阶段已经死亡的对象,此阶段和用户线程并发工作
缺点
对CPU敏感,并发阶段虽然不会导致用户线程停顿,但却由于占用资源导致应用程序变慢,降低总吞吐量<br>
由于CMS在清理时与用户线程并发,运行期间还伴随有新垃圾产生,有可能触发担保机制而产生较大停顿
基于标记清除算法,造成大量的空间碎片,导致没有足够的连续空间存放大对象,不得不提前触发Full GC