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

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

垃圾回收

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

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

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

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

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

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

弱引用表

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

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

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

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

__mode模式为 “k”

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

local weaktable={
   }
local metable ={
   
    __mode ="k"
}
--这里tab就是返回的weaktable
local tab = 

相关推荐

  1. Lua语法()——垃圾回收

    2024-04-13 05:16:07       44 阅读
  2. 20、Lua 垃圾回收

    2024-04-13 05:16:07       34 阅读
  3. lua gc垃圾回收知识记录

    2024-04-13 05:16:07       47 阅读
  4. )Python 垃圾回收机制

    2024-04-13 05:16:07       50 阅读
  5. redis原理(Lua语言

    2024-04-13 05:16:07       48 阅读
  6. Go语言垃圾回收

    2024-04-13 05:16:07       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 05:16:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 05:16:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 05:16:07       82 阅读
  4. Python语言-面向对象

    2024-04-13 05:16:07       91 阅读

热门阅读

  1. 设计模式-开闭原则和迪米特法则

    2024-04-13 05:16:07       46 阅读
  2. Lua语法(六)——面相对象编程

    2024-04-13 05:16:07       96 阅读
  3. FlashDB学习笔记一

    2024-04-13 05:16:07       36 阅读
  4. CSS学习笔记

    2024-04-13 05:16:07       43 阅读
  5. HTML&CSS(二)---HTML常见标签

    2024-04-13 05:16:07       31 阅读
  6. 2024.4.12清空Google剩余的几个网址

    2024-04-13 05:16:07       42 阅读
  7. Objective-C网络请求开发的高效实现方法与技巧

    2024-04-13 05:16:07       42 阅读