如何找出谁在Java中创建了一个Thread?
想象一下:您在复杂的插件环境中使用~30 个第三方 JAR.你启动它,运行大量代码,做一些计算,最后调用shutdown().
这个生命周期通常可以正常工作,除了在每次运行中一些(非守护)线程保持悬空状态.如果每次关机都是最后一次关机,那就不会有问题,在这种情况下我可以简单地运行System.exit().但是,这个循环可能会运行几次,并且每次传递都会产生更多的垃圾.
所以我该怎么做?我在Eclipse的Debug View中看到了线程.我看到他们的堆栈痕迹,但他们没有任何关于它们的起源的暗示.没有创建者的堆栈跟踪,没有可区分的类名,没有.
有谁知道如何解决这个问题?