lua虚拟机的垃圾回收机制
1.标记清除算法
是世界上首个值得纪念的GC算法。如其字面意思一样,它由标记阶段和清除阶段构成。标记阶段是把所有活动对象都做上标记的阶段。清除节点就是把那些没有标记的对象,也就是非活动对象回收的阶段。通过这两个阶段。可以让不能利用的内存空间重新得到利用。
1 | 碎片化 |
2 | 分配速度 |
3 | 与写实复制技术不兼容 |
4 | stop-the-world类型的gc方法,会在瞬时极大影响程序运行的性能。 |
2.增量式标记清除算法
三种颜色:白色、灰色、黑色。
1.标记清除算法
是世界上首个值得纪念的GC算法。如其字面意思一样,它由标记阶段和清除阶段构成。标记阶段是把所有活动对象都做上标记的阶段。清除节点就是把那些没有标记的对象,也就是非活动对象回收的阶段。通过这两个阶段。可以让不能利用的内存空间重新得到利用。
1 | 碎片化 |
2 | 分配速度 |
3 | 与写实复制技术不兼容 |
4 | stop-the-world类型的gc方法,会在瞬时极大影响程序运行的性能。 |
2.增量式标记清除算法
三种颜色:白色、灰色、黑色。