1. Serial
常用于年轻代的垃圾回收器,使用的算法为标记-清理。
单线程
2. ParNew
常用于年轻代的垃圾回收器,使用的算法为标记-复制。
多线程
3. CMS
常用于老年代的垃圾回收器,使用的算法为标记-清理-整理。
CMS执行垃圾回收的过程:
1、初始标记;
2、并发标记;
3、重新标记;
4、并发清理;
3.1. 初始标记
系统停止运行;
运行速度:快
标记GC Roots;
GC Roots 的点有方法的局部变量和类的静态变量
3.2. 并发标记
系统可以继续运行;
运行速度:慢
追踪GC Roots(看本对象被谁应用,可以理解为关联关系图谱生成)。
3.3. 重新标记
系统停止运行;
运行速度:快
因为在第二阶段并发标记的时候,系统在继续运行,期间会产生新的对象,也有老对象变成垃圾对象。
所以需要在第二阶段的基础上重新对少部分对象重新标记;
3.4. 并发清理
系统可以继续运行;
运行速度:慢
清理之前标记的垃圾对象;
原创文章,转载请注明: 转载自LoserZhao – 诗和远方[ http://www.loserzhao.com/ ]
文章的脚注信息由WordPress的wp-posturl插件自动生成
0 条评论。