問題:CMS並發標記清除
上圖中初始標記和並發標記階段具體做了什麼,作者兩句話代過,並且兩句話的意思感覺還是一樣的,沒什麼區別。
告訴我作者是不是在跟我打馬虎眼??
兩個階段怎麼理解,有什麼區別?望各位指點
問題解決了:
書中提到的是直接與相連的節點
PHPz2017-04-18 10:58:10
作者的意思很明顯啊,怎麼就成立打馬虎眼?初始標記是去找所有的GC root物件(通常為常量區的靜態物件和java方法堆疊中的物件),並發標記是用多執行緒對每個GC root物件進行tracing搜索,就是在堆中尋找其下所有能關聯到的物件。所以第二階段工作量非常大,使用並發方式可以大幅加快gc時間。