Lua 编程中垃圾回收是如何工作的?
Lua 提供了自动垃圾回收,这对于提供安全的内存管理非常有帮助。它的基本含义是你无需担心新创建的对象或如何分配内存。
Lua 主要运行垃圾回收器来收集所有废弃对象(即在 Lua 中无法访问的对象),以执行自动内存管理。
Lua 还为我们提供了可用于与垃圾回收器交互的不同函数,这些函数包括 -
- collectgarbage ( "collect") - 返回一个数字,表示回收器是否执行完全的垃圾回收周期。
- collectgarbage ( "count") - 返回 Lua 使用的内存总字节数。
- collectgarbage ( "restart") - 重新启动垃圾回收器。
- collectgarbage ( "stop") - 停止垃圾回收器。
现在,我们已经知道了 Lua 在垃圾回收器方面为我们提供哪些函数,接下来让我们探索一个简单的程序,其中我们将使用一些函数。
示例
请考虑以下所示的示例 -
fruits = {"apple", "orange", "banana"}
print(collectgarbage("count"))
fruits = nil
print(collectgarbage("count"))
print(collectgarbage("collect"))
print(collectgarbage("count"))输出
32.4208984375 32.4580078125 0 25.3154296875
应当注意,输出可能有所不同,因为它完全取决于机器的内部架构。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP