当前位置: 首页 > news >正文

Lua语法(五)——垃圾回收

参考链接:
系列链接: Lua语法(一)
系列链接: Lua语法(二)——闭包/日期和时间
系列链接: Lua语法(三)——元表与元方法
系列链接: Lua语法(四)——协程
系列链接: Lua语法(五)——垃圾回收
系列链接: Lua语法(六)——面相对象编程

Lua语法 五——垃圾回收

      • 垃圾回收
        • 弱引用表
          • __mode模式为 "k"
          • __mode 模式为"v"
          • __mode模式为"kv"
          • 总结
        • 析构器
        • 函数 collectgarbage
          • collect
          • count
          • stop
          • restart
          • setpause
          • setstepmul
          • step

垃圾回收

  Lua语言使用自动内存管理。通过垃圾收集自动删除成为垃圾的对象。

Lua中主要的辅助垃圾收集器的机制有:

  • 弱引用表 (weak table)
  • 析构器 (finalizer)
  • 函数 collectgarbage

弱引用表允许Lua收集被程序访问的对象,但是数字和布尔不会被回收;

析构器允许收集不在垃圾收集器控制下的外部对象;

函数 collectgarbage 允许手动控制垃圾收集器的步长

弱引用表

一个表是否为弱引用表是由其元表中的 __mode控制。

如果该字段值为"k", 那么这个表的键为弱引用

如果该字段值为"v",那么这个表的值为弱引用

如果该字段值为"kv",那么这个表的键和值都为弱引用

__mode模式为 “k”

表示弱引用表的键为弱引用,当键被覆盖,可以被回收

local weaktable={}
local metable ={__mode ="k"
}
--这里tab就是返回的weaktable
local tab = 
http://www.lryc.cn/news/337378.html

相关文章:

  • 已解决java.net.NoRouteToHostException: 无法到达主机异常的正确解决方法,亲测有效!!!
  • 代码随想录算法训练营第三十八天| 509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
  • 视频中会动的进度条
  • C++高级特性:柯里化过程与std::bind(六)
  • vmware虚拟机补救
  • 数据结构(算法)
  • SpringCloud集成SkyWalking链路追踪并收集日志2
  • 纯小白蓝桥杯备赛笔记--DAY4(数学数据结构图论)
  • python 最简单的网页爬虫
  • 二叉树-数据结构
  • ansible使用shell模块的环境变量问题
  • ChatGPT论文写作指南:写出引人注目的论文
  • ARM64架构栈帧回溯
  • LangChain:大型语言模型(LLMs)-- 基础知识
  • 总分410+专业130+国防科技大学831信号与系统考研经验国防科大电子信息与通信工程,真题,大纲,参考书。
  • chatgpt Team 4.0共享合租账号的新方式
  • 类和对象二
  • GD32 HID键盘矩阵键盘发送数据时,一直发送数据问题处理
  • 小程序地理位置权限申请+uniapp调用uni.getLocation
  • 后台权限控制及动态路由
  • 云计算:Linux 部署 OVS 集群(控制端)实现OpenFlow
  • 使用/api/put保存数据到OpenTSDB,报204错误
  • Open3D kmeans聚类(马氏距离,Python版本)
  • python抠图程序
  • Android13 CameraServer启动流程
  • 如何升级node.js版本
  • Excel---一个工作簿中的多个sheet合并成一个PDF
  • 结合文本的目标检测:Open-GroundingDino训练自己的数据集
  • 分布式锁-redission锁的MutiLock原理
  • MySQL索引、B+树相关知识汇总