0

在进行垃圾收集时,我遇到了Reference CountingGCMark & Sweep算法。
网络上的一些研究表明,引用计数已成为过去,今天的大多数浏览器都采用了 Mark and Sweep。根据这里的文章

Since 2012, JavaScript Engine’s have adapted this algorithm over Reference-counting garbage collection.

虽然我还没有找到任何相同的标准文档,但我很想知道以下内容:

  1. 除了循环依赖之外,还有其他原因使我们远离引用计数并采用 Mark & Sweep 吗?
  2. 所有现代浏览器(Chrome | Firefox | Safari | Edge | IE)都使用 Mark and Sweep 吗?
4

1 回答 1

2

引用MDN

截至 2012 年,所有现代浏览器都提供了一个标记和清除垃圾收集器。过去几年在 JavaScript 垃圾收集(分代/增量/并发/并行垃圾收集)领域所做的所有改进都是该算法的实现改进,但不是对垃圾收集算法本身的改进,也不是它对何时定义的减少“不再需要一个对象”。

于 2019-09-04T19:34:46.890 回答