【问题标题】:ruby circular references exampleruby 循环引用示例
【发布时间】:2013-09-21 00:50:18
【问题描述】:

我读了一些关于 ruby​​ 垃圾收集器的文章,其中很多提到循环引用对象不能被清除。 This article 提到了循环引用,但我不确定它是否会导致问题。任何人都可以举一些如何创建循环引用的例子?

【问题讨论】:

  • 正如您链接的问题的答案已经指出的那样,Ruby 的 GC 可以非常多地收集具有循环引用的对象。我不知道你在哪里读到它不能,但那是错误信息。

标签: ruby memory garbage-collection circular-reference


【解决方案1】:

我读了一些关于 ruby​​ 垃圾收集器的文章,其中很多提到循环引用对象不能被清除。

这绝对不是真的。

谁能给出一些如何创建循环引用的例子?

最简单的就是这样:

arr1 = []
arr2 = [ arr1 ]
arr1 << arr2

但是,正如我所说(以及您链接的问题的答案也指出),Ruby 的 GC 在它们超出范围后收集 arr1arr2 绝对没有问题。

【讨论】:

    猜你喜欢
    • 2012-07-06
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2023-03-24
    • 2019-05-19
    • 2016-01-26
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多