追踪垃圾回收

在计算机编程中，跟踪垃圾收集（英語： Tracing garbage collection ）是一种自动内存管理的算法，该算法通过分析某些“根”对象的引用关系，来确定需要保留的可访问对象，并释放其余的不可访问对象的内存空间。该算法在实际的软件工程中得到了广泛的应用。

跟踪垃圾收集是最常见的垃圾收集方式，以至于“垃圾收集”通常是指跟踪垃圾收集，而不是引用计数之类的其他方法。


对象的可达性
简单地说，如果可以从任何一个已经定义的变量开始，直接或者通过其他对象的引用来访问到某个对象，则该对象是可访问的。更准确地说，只有以下两种对象是可达的：

程序代码直接定义的变量与对象都是可达的。通常这些对象包括从调用堆栈中任何位置引用的所有对象（即当前正在调用的函数中的所有局部变量和参数）以及任何全局变量。
可访问对象引用的任何对象都是可达的。也就是说，可达性是传递闭包的。

强引用和弱引用

弱集合

基本算法

朴素的标记和扫描

标记-移动算法

參考連結

記憶體管理