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