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

我们可以用java定制垃圾收集器吗?

  •  2
  • GuruKulki  · 技术社区  · 15 年前

    有人试过吗。如果是,你能分享一些关于如何和其逻辑的知识吗? 谢谢

    4 回复  |  直到 15 年前
        1
  •  11
  •   erickson    15 年前

    Java的垃圾收集器不是“低优先级线程”。例如,垃圾收集通常并行使用多个线程。而且,当内存不足时,垃圾收集可以抢占任何应用程序线程。

    我建议学习 Garbage Collection Tuning guide

        2
  •  3
  •   Carl Smotricz    15 年前

    Java中的垃圾收集经过了多年的微调。这是可能的,但不太可能,你正在做一些非常特殊的事情,在这方面有特殊的需要。

    但我认为更可能的是,无论您认为垃圾收集器有什么问题,都是应用程序中的问题。还有一些猜测:

    • 您正在不必要地创建和丢弃大量对象。
    • 应用程序中存在性能问题。
    • 你有不可能的绩效预期。
        3
  •  2
  •   Thorbjørn Ravn Andersen    15 年前

    是的,您可以,但是它需要您做一些相当核心的JVM工作,因为您不能从运行的Java程序中完成。最简单的入门方法可能是使用Jikes RVM,因为它是用Java编写的(一个IBM开源项目)。

    http://jikesrvm.org/

    玩得开心,但期待一场艰苦的战斗:)

        4
  •  0
  •   jonescb Denis    15 年前

    Java7将使用一个全新的GC,所以应该可以将它们交换掉。