GC簡介html
1 GC機制算法
1.1 對象post
從計算機的角度,裝有數據的內存空間spa
1.2 做用htm
將內存垃圾的釋放自動化對象
1.3 本質blog
將已經引用不到的對象視爲死亡,將死亡的對象找出來而且做爲垃圾進行回收遞歸
2 GC算法內存
2.1 跟蹤回收get
2.1.1 原理
從根開始掃描判斷對象的生死
2.1.2 標記清除
(1)過程
(2)缺點
2.1.3 複製收集
(1)過程
(2)優缺點
2.2 引用計數
2.2.1 原理
當對象引用發生變化時,利用引用計數更新對象的狀態,判斷對象的生死
2.2.2 引用計數
(1)過程
在對象內部保持一個對該對象的引用計數,當引用發生增減時進行更新
(2)優缺點
2.3 跟蹤回收和引用計數的結合
2.3.1 分代回收
(1)原理
大部分對象在短期裏會成爲垃圾,而通過必定時間仍然存活下來的每每擁有較長的壽命,因此增長新生的對象的掃描,減小老生對象的掃描
(2)過程
(3)記錄集
(4)寫屏障
須要將添加到記錄集的操做嵌入到對象修改的地方,對全部涉及修改對象的地方進行保護
(5)優缺點
2.3.2 增量回收
(1)原理
(2)優缺點
中斷時間取決於對象的數量,在犧牲總GC時間的狀況下,縮短中斷時間
2.3.3 並行回收
(1)原理
(2)特色
2.4 GC大一統理論
全部的GC算法都是跟蹤回收和引用計數的結合,二者相互獨立,對其中一方進行改善的技術之中必然存在對另外一方的改善技術,而其結果只是兩種的結合
3 思惟導圖