Ruby-doc有这样的描述:
ObjectSpace模块包含一个 与之交互的例程数量 垃圾收集设施和 让你遍历所有生活 具有迭代器的对象。
ObjectSpace还提供支持 对象终结者,将会是 在特定对象的时候调用 被垃圾收集破坏。
任何人都可以用更简单的语言解释这一点,如果没有,至少提供有关使用它的地方的信息?
Ruby-doc有这样的描述:
ObjectSpace模块包含一个 与之交互的例程数量 垃圾收集设施和 让你遍历所有生活 具有迭代器的对象。
ObjectSpace还提供支持 对象终结者,将会是 在特定对象的时候调用 被垃圾收集破坏。
任何人都可以用更简单的语言解释这一点,如果没有,至少提供有关使用它的地方的信息?
一个 垃圾收集器 是一种带有托管内存的语言结构。这是管理记忆的事情。从本质上讲,垃圾收集器的工作是确定何时不再需要已分配的内存,并释放它。
当您使用带垃圾收集器的语言时,您可能需要执行以下某些操作:
ObjectSpace使您可以访问这种性质的东西。从本质上讲,它是一种访问任何当前使用已分配内存的东西的方法。
例如,要计算某些类的实例数:
class Examp
def self.obj_count
count = 0
ObjectSpace.each_object(self) do |b|
count += 1
end
return count
end
end
a = Examp.new
b = Examp.new
c = Examp.new
puts Examp.obj_count #=> 3
我知道类变量,它只是用法的一个例子。每次要对类的每个实例执行某些操作时,它都很有用。
一个 垃圾收集器 是一种带有托管内存的语言结构。这是管理记忆的事情。从本质上讲,垃圾收集器的工作是确定何时不再需要已分配的内存,并释放它。
当您使用带垃圾收集器的语言时,您可能需要执行以下某些操作:
ObjectSpace使您可以访问这种性质的东西。从本质上讲,它是一种访问任何当前使用已分配内存的东西的方法。
例如,要计算某些类的实例数:
class Examp
def self.obj_count
count = 0
ObjectSpace.each_object(self) do |b|
count += 1
end
return count
end
end
a = Examp.new
b = Examp.new
c = Examp.new
puts Examp.obj_count #=> 3
我知道类变量,它只是用法的一个例子。每次要对类的每个实例执行某些操作时,它都很有用。
真实世界的用法 ObjectSpace
是的 派生Exceptions的完整类层次结构。