【发布时间】:2011-06-24 15:09:33
【问题描述】:
我正在学习 ruby 的标记和清除垃圾收集方法。我在这里和那里遇到了一些线程(以及this article 通过我无法再发现的 SO 线程),但它们似乎适用于旧版本的 ruby,并且它们中的信息并不总是一致的。 (就目前的情况而言,我的印象是它主要是引用计数。)
可能有人对 ruby 1.9.2 的内部有一些不了解,关于 ruby 是否知道如何处理更棘手的反向引用和循环引用? (理想情况下,有一些关于它如何实际实现的细节/好的指针。)
【问题讨论】:
-
您是出于好奇,还是想优化您的应用程序?
-
主要是出于好奇。我曾经在 php 中遇到过循环引用的问题,并且在 ruby 中没有看到任何 destruct 方法,想知道它处理的效果如何,比如说,在一个定向(并且可能是循环)图中的节点表示。