垃圾回收的三種方法 垃圾回收有幾種方法


垃圾回收的三種方法 垃圾回收有幾種方法

文章插圖
1、跟蹤回收:跟蹤回收的方式獨立于程序,定期運行來檢查垃圾,需要較長時間的中斷 。
2、標記清除:標記清除的方式需要對程序的對象進行兩次掃描,第一次從根(Root)開始掃描,被根引用了的對象標記為不是垃圾,不是垃圾的對象引用的對象同樣標記為不是垃圾,以此遞歸 。所有不是垃圾的對象的引用都掃描完了之后 。就進行第二次掃描,第一次掃描中沒有得到標記的對象就是垃圾了,對此進行回收 。
【垃圾回收的三種方法 垃圾回收有幾種方法】3、復制收集:復制收集的方式只需要對對象進行一次掃描 。準備一個「新的空間」,從根開始,對對象進行掃,如果存在對這個對象的引用,就把它復制到「新空間中」 。一次掃描結束之后,所有存在于「新空間」的對象就是所有的非垃圾對象 。

    推薦閱讀