课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
标记是垃圾回收算法执行过程中非常重要的一个环节,而本文我们就通过案例分析来简单了解一下,垃圾回收算法标记应用分析。
全局并发标记
进行MixedGC之前,会先进行globalconcurrentmarking(全局并发标记)。
在G1GC中,它主要是为MixedGC提供标记服务的,并不是一次GC过程的一个必须环节。globalconcurrentmarking的执行过程分为五个步骤:
初始标记(initialmark,STW)
在此阶段,G1GC对根进行标记。该阶段与常规的(STW)年轻代垃圾回收密切相关。
根区域扫描(rootregionscan)
G1GC在初始标记的存活区扫描对老年代的引用(扫描CardTable和RSet),并标记被引用的对象。该阶段与应用程序(非STW)同时运行,并且只有完成该阶段后,才能开始下一次STW年轻代垃圾回收。
并发标记(ConcurrentMarking)
G1GC在整个堆中查找可访问的(存活的)对象。该阶段与应用程序同时运行,可以被STW年轻代垃圾回收中断。
终标记(Remark,STW)
该阶段是STW回收,帮助完成标记周期。G1GC清空SATB缓冲区,跟踪未被访问的存活对象,并执行引用处理。
清除垃圾(Cleanup,STW)
后阶段,G1GC执行统计和RSet净化的STW操作。
在统计期间,G1GC会识别完全空闲的区域和可供进行混合垃圾回收的区域。
清理阶段在将空白区域重置并返回到空闲列表时为部分并发。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。