三色标记算法在G1与CMS内存管理中应用及问题分析.pdfVIP

  • 0
  • 0
  • 约2.95千字
  • 约 6页
  • 2026-05-11 发布于北京
  • 举报

三色标记算法在G1与CMS内存管理中应用及问题分析.pdf

三色标记算法收集器内存管理

G1与CMS在漏标问题

回顾一下:

初始标记GCRoot标记直接关联对象所有的用户线程暂停。stw

并发标记用户线程与GC线程同时执行漏标和多标

重新标记修正在并发标记错误暂停所有的用户线程stw

并发清除用户线程与GC线程同时执行GC线程清理堆内存。

重新标记的stw时间比初始标记stw时间要长

三色标记算法:

GCRoot如果想查找到存活对象,根据可达分析算法分析

根据GCRoot遍历整个链,按照是否过该对象分成三种不同的颜色盒子(容器)。

白色、灰色、黑色盒子。

白色:本对象没有被过(没有被GCRoot扫描过,有可能是为对象);

灰色:本对象已经被过(被GCRoot扫描过),且本对象中的属性没有被GCRoot扫描,

该对象就是为灰色对象;如果该对象的属性被扫描的情况下,从灰色变为黑色。

黑色:本对象已经被过(被GCRoot扫描过),且本对象中的属性已经被GCRoot扫描

过,

该对象就是为黑色对象。

初始标记阶段:A和B对象是为灰色。

并发标记阶段

GCRoot起始点算:灰色开始。

原理:

1.在初始阶段的时候,所有的对象都

文档评论(0)

1亿VIP精品文档

相关文档