CMS 回收器的两次 STW

为什么80%的码农都做不了架构师?>>>   hot3.png

CMS 回收器在一次 GC 过程中会有两次短暂的 STW,一次是 initial mark 阶段,一次是 remark 阶段。

附:CMS 的过程

  • 初始标记(STW initial mark)
  • 并发标记(Concurrent marking)
  • 并发预清理(Concurrent precleaning)
  • 重新标记(STW remark)
  • 并发清理(Concurrent sweeping)
  • 并发重置(Concurrent reset)

其中 initial mark 用来标记从 root 直接可达的和从 young genneration 中对象直接可达的对象;remark 用来标记在并发标记阶段遗漏的对象。remark 之前两个阶段:并发标记用于标记与 root 直接可达的对象下溯的对象;并发预清理用于减少 remark 的工作量,降低 STW 时间。

转载于:https://my.oschina.net/lifany/blog/546145

你可能感兴趣的:(CMS 回收器的两次 STW)