本文簡要介紹ruby語言中 ObjectSpace模塊
的用法。
objspace 庫擴展了 ObjectSpace
模塊並添加了幾種方法來獲取有關對象/內存管理的內部統計信息。
您需要require 'objspace'
才能使用此擴展模塊。
通常,如果您不了解 MRI 實施,您*不應該*使用此庫。該庫主要麵向需要了解 MRI 內存使用情況的(內存)分析器開發人員和 MRI 開發人員。
ObjectSpace
模塊包含許多與垃圾收集工具交互的例程,並允許您使用迭代器遍曆所有活動對象。
ObjectSpace
還提供對對象終結器的支持,當特定對象即將被垃圾回收銷毀時,將調用它們。有關如何正確使用此方法的重要信息,請參閱ObjectSpace.define_finalizer
的文檔。
a = "A"
b = "B"
ObjectSpace.define_finalizer(a, proc {|id| puts "Finalizer one on #{id}" })
ObjectSpace.define_finalizer(b, proc {|id| puts "Finalizer two on #{id}" })
a = nil
b = nil
產生:
Finalizer two on 537763470
Finalizer one on 537763480
相關用法
- Ruby ObjectSpace.memsize_of_all用法及代碼示例
- Ruby ObjectSpace.count_symbols用法及代碼示例
- Ruby ObjectSpace.define_finalizer用法及代碼示例
- Ruby ObjectSpace.count_imemo_objects用法及代碼示例
- Ruby ObjectSpace.allocation_generation用法及代碼示例
- Ruby ObjectSpace.each_object用法及代碼示例
- Ruby ObjectSpace.reachable_objects_from用法及代碼示例
- Ruby ObjectSpace.allocation_class_path用法及代碼示例
- Ruby ObjectSpace.count_objects_size用法及代碼示例
- Ruby ObjectSpace.count_nodes用法及代碼示例
- Ruby ObjectSpace.trace_object_allocations用法及代碼示例
- Ruby ObjectSpace.count_objects用法及代碼示例
- Ruby ObjectSpace.count_tdata_objects用法及代碼示例
- Ruby ObjectSpace.allocation_method_id用法及代碼示例
- Ruby Object.instance_variable_get用法及代碼示例
- Ruby Object.display用法及代碼示例
- Ruby Object.remove_instance_variable用法及代碼示例
- Ruby Object.define_singleton_method用法及代碼示例
- Ruby Object.methods用法及代碼示例
- Ruby Object.public_send用法及代碼示例
- Ruby Object.xmp用法及代碼示例
- Ruby Object.singleton_methods用法及代碼示例
- Ruby Object.enum_for用法及代碼示例
- Ruby Object.freeze用法及代碼示例
- Ruby Object.inspect用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 ObjectSpace模塊。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。