追蹤垃圾回收
在計算機編程中,跟蹤垃圾收集(英語: Tracing garbage collection )是一種自動內存管理的算法,該算法通過分析某些「根」對象的引用關係,來確定需要保留的可訪問對象,並釋放其餘的不可訪問對象的內存空間。該算法在實際的軟體工程中得到了廣泛的應用。[1][2]
跟蹤垃圾收集是最常見的垃圾收集方式,以至於「垃圾收集」通常是指跟蹤垃圾收集,而不是引用計數之類的其他方法[原創研究?]。
對象的可達性
簡單地說,如果可以從任何一個已經定義的變量開始,直接或者通過其他對象的引用來訪問到某個對象,則該對象是可訪問的。[原創研究?]更準確地說,只有以下兩種對象是可達的:
強引用和弱引用
弱集合
基本算法
樸素的標記和掃描
標記-移動算法
參考連結
- ^ Concurrent Mark Sweep (CMS) Collector. Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide. Oracle Java Documentation. [2020-03-12]. (原始內容存檔於2021-01-18) (英語).
The CMS collector ... is a tracing collector that identifies at least all the reachable objects in the heap.
- ^ 2.0 2.1 吳, 昊; 季, 振洲. 一种基于半空间的不完全拷贝垃圾回收机制. 哈爾濱工業大學學報. 2011, 43 (11): 60–64 [2020-03-27]. ISSN 0367-6234. (原始內容存檔於2020-05-28).