Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

并发标记清除的问题

图片描述

问题:CMS并发标记清除
上图中初始标记和并发标记阶段具体做了什么,作者两句话代过,并且两句话的意思感觉还是一样的,没什么区别。

告诉我作者是不是在跟我打马虎眼??

两个阶段怎么理解,有什么区别?望各位指点

问题解决了:
书中提到的是直接与相连的节点


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

作者的意思很明显啊,怎么就成立打马虎眼?初始标记是去找所有的GC root对象(通常为常常量区的静态对象和java方法栈中的对象),并发标记是用多线程对每个GC root对象进行tracing搜索,就是在堆中查找其下所有能关联到的对象。所以第二阶段工作量非常大,使用并发方式可以大大加快gc时间。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...