Java 分析Eclipse中的线程以查找线程泄漏

Java 分析Eclipse中的线程以查找线程泄漏,java,eclipse,multithreading,debugging,memory-leaks,Java,Eclipse,Multithreading,Debugging,Memory Leaks,我不熟悉java多线程。我必须在应用程序中查找线程泄漏。我试图通过jvisualvm profiler分析线程。我发现有两个线程永远不会死,这会导致高CPU使用率 为了分析这两个线程,我附加了调试器并尝试检查它们。我发现这些线程正在等待其他线程。实际上,他们在等待相同的(id)线程,比如id=120 然后我试图找到拥有这个线程id的线程。在那里我看到这个特定的线程(id=120)正在等待其他线程 因此,在eclipse的调试模式下很难找到具有特定ID的线程。你知道我怎么用身份证找到它吗?或者我可

我不熟悉java多线程。我必须在应用程序中查找线程泄漏。我试图通过jvisualvm profiler分析线程。我发现有两个线程永远不会死,这会导致高CPU使用率

为了分析这两个线程,我附加了调试器并尝试检查它们。我发现这些线程正在等待其他线程。实际上,他们在等待相同的(id)线程,比如id=120

然后我试图找到拥有这个线程id的线程。在那里我看到这个特定的线程(id=120)正在等待其他线程

因此,在eclipse的调试模式下很难找到具有特定ID的线程。你知道我怎么用身份证找到它吗?或者我可以在调试窗口的调试模式下搜索特定id吗


我也会很感激你关于找出这些永远运行的线程的方法的建议。代码非常庞大,只是在其中迷失了方向

在这种情况下,只需在控制台中进行线程转储(不知道eclipse本身是否可以这样做),然后通过它进行grepping比使用IDE简单得多。您能告诉我应该如何进行线程转储吗?无法从u建议的链接访问脚本…您不需要脚本,只需将kill-3发送到正确的pid。如果您希望定期转储,只需编写一个简单的bash脚本,该脚本似乎每x秒执行一次命令。。在两者之间写上一些标记可能是个好主意,这样可以很容易地区分它们,但除此之外,不涉及黑魔法。