默认的PS算法,CMS需要显示设置。
PS(Parallel Scavenge)垃圾收集器:
1 垃圾回收阶段暂停当前的java程序
2 采用标记清楚算法回收空闲空间
3 回收后执行碎片整理,把空闲空间后移
CMS(Concurrent Mark Sweep)垃圾收集器
3次标记和一次清除
3次标记:
1 暂停后从可达对象根节点标记一层子节点
2 恢复后继续从已标记的节点继续标记
3 暂停一次,采用多线程方式补充标记
4 执行清除
参考资料
深入浅出的讲解垃圾回收过程: http://www.jianshu.com/p/778dd3848196