JavaScript中有哪些垃圾回收机制?

3 min read

JavaScript 的垃圾回收方式包括:

  1. 标记清除:这是 JavaScript 最常用的垃圾收集算法。当变量进入执行环境时,就将这个变量标记为“进入环境”。当变量离开环境时,则标记为“离开环境”。在垃圾回收的时候,遍历所有变量,把被标记为”离开环境”的变量进行回收。

  2. 引用计数:JavaScript 内部使用的引用计数器来跟踪每个对象被引用的次数。当一个对象引用次数变为 0 时,则表示没有更多代码在使用这个对象,因此可以安全地回收它。

  3. 垃圾回收机制:V8 引擎使用分代垃圾回收机制。将内存分为新生代和老生代两个区域进行回收。在新生代中,垃圾回收机制使用的是 Scavenge 算法。在老生代中,需要使用更复杂的垃圾回收算法,如标记-清除或标记-整理算法等。