v8 中垃圾回收算法:

    • Scavenge
    • Minor Mark Compactor
    • Incremental Mark Compactor
    • Mark Compactor (标记整理)

    垃圾回收算法技术:分代收集

    • 新生代:副垃圾回收器(Minor):Scavenge 算法
      • 对象区
      • 空闲区
    • 老生代:主垃圾回收器(Mark Compactor)
      • 算法演变:标记清除(Mark Sweep) -> 标记整理(Mark Compactor)
      • 标记清除算法会产生大量的垃圾碎片

    可达性分析:GCRoot:二色标记法,默认是白色,访问过的是黑色

    因为 JavaScript 脚本是在主线程执行的,在进行垃圾回收的时候会出现全停顿现象。

    • 为了解决该问题,又新增加了 增量标记清除算法(Incremental Mark Compatcor)
    • 除此之外还有并行,并发回收
    • 为了保证垃圾回收可以被重启,所以又提出了三色标记法