标记和扫描算法行为的可视化。

因为“一个对象有零引用”导致该对象不可达,所以这个算法比前一个算法更好。我们在周期中看到的情形恰巧相反,是不正确的。 截至 2012 年,所有现代浏览器都内置了标记扫描式的垃圾回收器。去年在 JavaScript 垃圾收集(通用/增量/并发/并行垃圾收集)领域中所做的所有改进都是基于这种算法(标记和扫描)的实现改进,但这不是对垃圾收集算法本身的改进,也不是对判断一个对象是否可访问这个目标的改进。

即使两个对象之间有引用,根节点它们不在被访问。

; } function removeImage() { // image 元素是body的直接子元素。 document.body.removeChild(document.getElementById('image')); // 我们仍然可以在全局元素对象中引用button。换句话说,button元素仍在内存中,无法由GC收集 }