lua虚拟机的垃圾回收机制

1.标记清除算法

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

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

2.增量式标记清除算法

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

相关推荐
阿俊-全栈开发1 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
wuminyu4 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
m0_380743874 小时前
C++中的freopen的用法实例详解
开发语言·c++
Escalating_xu5 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
jimy15 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
m0_380743875 小时前
PHP 8.3 缓存清除不生效怎么排查
开发语言·php
朝朝辞暮i5 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
小凡geo6 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
朝朝辞暮i6 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++
波力海苔夹心脆6756 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net