本文簡要介紹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模塊。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
