代码之家  ›  专栏  ›  技术社区  ›  Viki

垃圾收集操作

  •  1
  • Viki  · 技术社区  · 17 年前

    有人能解释一下垃圾回收是如何工作的吗?

    (我使用C语言和Java语言)。

    6 回复  |  直到 17 年前
        2
  •  6
  •   Stefano Driussi    17 年前

    垃圾收集背后的基本思想是,您不必关心内存管理。垃圾收集器所做的是定期检查对象引用,并找到不再用于(不再引用)回收其内存和压缩另一个对象的引用。 垃圾收集器使用不同的算法来执行它们的工作,并且它们在不同长度的细节上有所不同。 维基百科给了你一个很好的 starting point . 如果您正在寻找关于各种垃圾收集器(Java,.NET,..)的实际实现的更深入的信息,您可以查看 here here 或者在谷歌上搜索更多。

        3
  •  3
  •   Tom Hawtin - tackline    17 年前

    试读这本书 Garbage Collection: Algorithms for Automatic Dynamic Memory Management . 它不会有更新的东西,但它会让你的方式。

        4
  •  1
  •   Matt Davison    17 年前

    perfmon为与gc相关的性能提供了许多计数器…

        5
  •  0
  •   ctacke    17 年前
        6
  •  0
  •   andandandand    17 年前

    我认为您需要知道垃圾收集器是一个线程,它在您的程序上运行,释放那些引用使其无法访问的对象所占用的内存。你还需要知道,int GC运行的时刻是无法预测的,你可以打电话给 System.gc() 提出建议 让gc运行,但是 不到 让它运行 ,由jvm来决定。

    如果你有: Object objectReference = null;

    objectreference引用的对象是gc诱饵。“孤岛”的主题以及 finalize( )方法作品是很有趣的阅读主题。我建议在两个网站上都用谷歌搜索一下。