G1并发标记阶段修改对象引用关系会导致的两个问题:
错标:不会影响程序,但是会造成浮动垃圾。
漏标:漏了需要检查的对象,如果发生漏标,就会导致可达对象被垃圾回收器回收。
三色标记法:为了解决并发标记阶段可能产生的问题,引入了三色标记法。
黑色:对象标记了,且对象的Field(成员变量)也标记完成。
灰色:对象标记了,但是对象的Field尚未标记。
白色:对象还没有标记
漏标发生的充分必要条件:
G1并发标记阶段修改对象引用关系会导致的两个问题:
错标:不会影响程序,但是会造成浮动垃圾。
漏标:漏了需要检查的对象,如果发生漏标,就会导致可达对象被垃圾回收器回收。
三色标记法:为了解决并发标记阶段可能产生的问题,引入了三色标记法。
黑色:对象标记了,且对象的Field(成员变量)也标记完成。
灰色:对象标记了,但是对象的Field尚未标记。
白色:对象还没有标记
漏标发生的充分必要条件: