`

lua weak表与gc

 
阅读更多
local a = {}
local b = {}
setmetatable(a, b)
--这个 table 中的 vaules 就是 weak
b.__mode = "k" -- now 'a' has weak keys
local t1 = {}
local t2 = {} -- creates first key 
a[t1] = 0
a[t2] = 1
--t2 is empty,can be gc
t2 = {}
collectgarbage()
for k, v in pairs(a) 
  do print(v) 
end

0
分享到:
评论

相关推荐

    lua gc 原理

    Lua的垃圾回收(GC)机制是Lua语言处理内存管理的核心部分,它负责自动释放不再使用的内存,从而避免内存泄漏。在深入研究Lua GC的原理之前,我们先来梳理一下内存管理和自动垃圾回收的基本概念。 内存管理是编程...

    Excel到Lua转表工具

    总结,"Excel到Lua转表工具"是连接Excel与Lua的桥梁,它极大地简化了数据管理的过程,让开发者能够充分利用Excel的强大功能,同时享受Lua的高效执行。通过理解和掌握这款工具,开发者可以更加灵活地处理各种数据,...

    unity lua表table 优化,支持多线程处理

    一、Lua 表(Table)的基础与优化 1. Lua 表的理解:在Lua中,表是一种通用的数据结构,可以用来表示数组、集合、对象等。由于其动态特性和弱类型,表是Lua的核心特性之一。优化表的关键在于减少内存占用和提高访问...

    Lua 类的继承与函数override

    在 Lua 语言中,虽然它本身并没有内置的类(class)机制,但为了实现面向...这种方式虽然与传统的面向对象语言有所不同,但在灵活性和可扩展性方面表现出色,使得 Lua 成为了许多游戏开发和其他领域的首选脚本语言。

    Lua语言 链表操作实现

    Lua语言 链表操作实现。 如果对代码有疑问,欢迎随时联系我!

    emoji.lua:Lua的基本表情符号支持模块

    表情符号 :speech_balloon:Lua的基本表情符号支持模块 :crescent_moon:例子 local emoji = require ( " emoji " )print (emoji. emojify ( " I :heart: :tea:! " ))-- > "I :red_heart: :teacup_without_handle:!...

    使用 xls_to_lua.lua 把 xls 解析成 lua table

    解析文件使用 lua 编写,把 *.xls 解析成 lua table,双击 run.bat 文件值行解析,支持多子表解析,键值对 k/v 解析。 例子说明:https://blog.csdn.net/qq_26117171/article/details/127131168 支持解析的数据类型...

    LUAC脚本解密_luac解密在线_luac4加密_luac反编译_luac4解密工具_luac解密工具

    LUAC脚本是一种基于Lua语言的编译格式,它将Lua源代码编译成字节码,以便在 Lua 解释器上高效运行。LUAC(Lua Compiler)是Lua官方提供的编译器,它将源代码转换为这种优化的字节码,以提高执行速度。在游戏开发、...

    所有版本LUA源码

    所有版本LUA源码 lua-5.3.5 lua-5.3.4 lua-5.3.3 lua-5.3.2 lua-5.3.1 lua-5.3.0 lua-5.2.4 lua-5.2.3 lua-5.2.2 lua-5.2.1 lua-5.2.0 lua-5.1.5 lua-5.1.4 lua-5.1.3 lua-5.1.2 lua-5.1.1 lua-5.1 lua-5.0.3 lua-...

    json转lua-table工具

    JSON(JavaScript Object Notation)和Lua Table 是两种广泛使用的数据序列化格式,分别在Web开发和游戏编程领域中占据重要地位。JSON因其简洁明了的结构而被广泛用于数据交换,而Lua Table则是Lua编程语言中的核心...

    C#与Lua交互的例程

    在IT行业中,C#与Lua的交互是一种常见的技术实践,特别是在游戏开发领域。C#以其强大的类型系统和.NET框架的支持,而Lua则以其轻量级、高性能和易于嵌入的特点,两者结合可以实现灵活的游戏逻辑和高效的数据处理。本...

    LUAC反编译_LUC_lua反编译工具_luac_luac解密工具_Lua解密_

    Lua是一种轻量级的脚本语言,常用于游戏开发、...尽管反编译的结果可能与原始源代码有所不同,但它仍然是了解和学习Lua程序的重要途径。在实际操作中,应遵循合法和道德的原则,尊重软件版权,仅用于学习和研究目的。

    lua文本转成json文本

    lua json文件转换 数据编排 lua配置表转成 json配置表

    lua程序实现对两个文件的表的比较

    本文将深入探讨如何使用Lua来实现对两个文件中表的比较,找出它们之间的差异。 首先,我们需要理解Lua中的表。表是Lua的核心数据结构,它是一个动态大小的关联数组,可以存储任意类型的值,包括数字、字符串、其他...

    lua与Android交互,基本实现

    Android与Lua之间可以相互传递各种类型的数据,包括数字、字符串、布尔值、表等。在Java中,Lua值可以通过LuaState的API转换为Java对象,反之亦然。例如,从Lua传递一个表到Java: ```lua local table = {key1=...

    Lua的最基本使用 C++与lua的互相调用

    5. 传递数据:C++与Lua之间可以传递不同类型的数据。使用`lua_pushnumber`、`lua_pushstring`等函数将C++数据推送到Lua栈,使用`lua_tonumber`、`lua_tostring`等函数从Lua栈获取数据。 6. 清理:调用`lua_settop(L...

    lua api lua文档

    #### 十三、Weak表 - **记忆函数**:使用弱引用实现的缓存机制。 - **关联对象属性**:如何在弱表中管理对象属性。 - **重述带有默认值的表**:使用弱表实现带有默认值的表。 #### 十四、标准库 - **数学库**:提供...

    lua学习资料lua学习资料lua学习资料lua学习资料lua学习资料

    至于“新建文件夹”这一压缩包子文件的文件名称,虽然没有具体说明,但通常情况下,这样的命名可能表示资料包包含了一个或多个子文件夹,每个文件夹可能对应一个主题或者课程单元,比如“基础语法”、“函数与表”、...

    Lua与C交互示例

    1. **lua_State**:在C中与Lua交互的核心是`lua_State`,它代表了一个Lua环境。首先需要通过`luaL_newstate()`创建一个新的`lua_State`实例。 2. **luaL_openlibs()**:接着调用`luaL_openlibs()`,这会为Lua环境...

    lua_stm32f4.rar_lua stm32_lua移植stm32_stm32 lua_stm32f407移植lua_st

    《Lua在STM32F407上的移植与应用》 在嵌入式系统领域,为了提高代码的可读性、可维护性和灵活性,越来越多的开发者选择使用高级脚本语言,如Lua,来替代传统的C/C++编程。本文将详细探讨如何在STM32F407微控制器上...

Global site tag (gtag.js) - Google Analytics