1军熏、先找到GC root的第一層(棧引用對象以及方法區(qū)引用,因?yàn)檫@個數(shù)量固定祭玉,所以很快,不耗時間哆姻,所以可以stop the world,這叫? 初始標(biāo)記)
2、找引用鏈上的所有對象(在第一層的基礎(chǔ)上找,單向鏈表吭净,因?yàn)檫@個數(shù)量是不固定的,一般來講都比較長携取,所以耗時久攒钳,所以采用并發(fā)操作帮孔,但是不 stop the world)
3雷滋、stop the world,在前面基礎(chǔ)上重新標(biāo)記(因?yàn)檫@個操作類似于一個增量操作文兢,是在前面的基礎(chǔ)上晤斩,不是全部遍歷,所以這個能接受stop the world)
4姆坚、最后一步就是清理(并發(fā)清理澳泵,不會stop the world,所以這個操作一般來說清不干凈兼呵,但是前面已經(jīng)清理了絕大部分了兔辅,所以到這步其實(shí)是可以接受垃圾冗余的)