在进行垃圾收集时,我遇到了Reference Counting
和Mark & Sweep
GC算法。
网上的一些研究表明,引用计数已成为过去,如今的大多数浏览器都采用了“标记和扫描”。根据文章here
Since 2012, JavaScript Engine’s have adapted this algorithm over Reference-counting garbage collection.
虽然我还没有找到相同的标准文档,但我有以下知识:
除了循环依赖以外,还有其他原因使我们脱离引用计数而采用“标记并扫描”吗?
所有现代浏览器(Chrome | Firefox | Safari | Edge | IE)是否都使用“标记并扫描”?
最佳答案
引用MDN
截至2012年,所有现代浏览器都附带了标记清除垃圾收集器。最近几年在JavaScript垃圾收集领域(世代/增量/并行/并行垃圾收集)所做的所有改进都是该算法的实现改进,但不是垃圾收集算法本身的改进,也不是对when的定义的减少。 “不再需要对象”。
关于javascript - 哪些现代浏览器使用“标记扫描”算法进行垃圾收集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56218239/