Vai*_*hta 23 ruby garbage-collection
在ruby中,所有类都是Class类的对象.由于类也是对象,Ruby VM是否遵循针对类对象的相同垃圾收集策略?是什么决定了类对象对垃圾收集是否安全?
Mat*_*lly 13
一个更具体的例子,类似于Andrew Cholakian的回答是使用ObjectSpace.例如:
2.1.1 :001 > ObjectSpace.count_objects[:T_CLASS]
=> 884
2.1.1 :002 > 10000.times { Class.new }
=> 10000
2.1.1 :003 > ObjectSpace.count_objects[:T_CLASS]
=> 20884
2.1.1 :004 > GC.start
=> nil
2.1.1 :005 > ObjectSpace.count_objects[:T_CLASS]
=> 884
Run Code Online (Sandbox Code Playgroud)
这表明匿名类(未保存在任何地方的常量或由这些类的任何实例使用)确实会收集垃圾.
归档时间: |
|
查看次数: |
2335 次 |
最近记录: |