Skip to content

垃圾回收机制

在 JS 的垃圾回收机制中,分成新生代和老生代 新生代采用的是 GC 算法,将新生代划分成活动对象区域和空闲区域,例如声明的对象会被放入活动对象区域,当活动对象区域填满时, 会进行一次垃圾回收,将存活的对象移入空闲区域并进行碎片空间整理,完成后再将空闲区域和活动对象区域进行翻转,依次循环回收。

当进行 2次 垃圾回收后,存活的对象会被放入老生代中,

老生代采用的是标记清除和标记整理算法,递归遍历堆内存的变量,将不需要使用的变量标记为垃圾数据,将需要使用的变量标记成活动变量,清除掉垃圾,然后进行标记整理碎片空间。