lua虚拟机的垃圾回收机制

Source

1.标记清除算法

是世界上首个值得纪念的GC算法。如其字面意思一样,它由标记阶段和清除阶段构成。标记阶段是把所有活动对象都做上标记的阶段。清除节点就是把那些没有标记的对象,也就是非活动对象回收的阶段。通过这两个阶段。可以让不能利用的内存空间重新得到利用。

缺点
1 碎片化
2 分配速度
3 与写实复制技术不兼容
4 stop-the-world类型的gc方法,会在瞬时极大影响程序运行的性能。

2.增量式标记清除算法

三种颜色:白色、灰色、黑色。