0

我的内存泄漏如下所示: 泄漏

没有太多经验Eclipse Memory Analyzer我想知道它是否可以回答这两个问题:

  • 大多数实例被分配的源代码位置是什么?
  • 他们没有被垃圾收集的原因是什么?
    1. 他们是否停止但仍在某处被引用?
    2. 他们还在执行还是在睡觉?

编辑:看起来sbridges是对的,我的线程永远不会死。但是我不太确定原因,因为堆栈跟踪似乎不包含我的任何代码。我使用 ExecutorService 的方式一定是错误的。

线程

4

1 回答 1

3

您的代码在某处创建线程,而这些线程永远不会消亡。线程不能被垃圾收集,因为线程是 gc 根。调试这个最简单的方法是启动应用程序,等到你有大量线程,然后使用JConsole连接到应用程序,并查看线程的堆栈跟踪。要查看堆栈跟踪,请单击线程选项卡,然后单击活动线程下的线程。

于 2011-08-27T16:59:43.193 回答