V8的内存分代
新生代中的对象为存活时间较短的对象。
老生代中的对象为存活时间较长或常驻内存的对象。
新生代对象——Scavenge算法
它将堆内存一分为二,每一部分空间称为semispace,在这两个空间中,只有一个处于使用中,我们称为From空间;另一个处于闲置状态,称为To空间。
当我们分配对象时,先是在From空间中进行分配。当开始进行垃圾回收时,会检查From空间中的存活对象,这些存活对象被复制到To空间中,而非存活对象占用的空间将会被释放。复制完成后,From空间和To空间的角色发生对换。在垃圾回收中,就是通过将存活对象在两个空间之间进行赋值。