Java hidden.edu.emory.mathcs.backport*

Java hidden.edu.emory.mathcs.backport*,java,threadpool,stack-trace,java.util.concurrent,thread-dump,Java,Threadpool,Stack Trace,Java.util.concurrent,Thread Dump,在应用程序线程转储中,我可以看到具有五个线程的线程池,如下所示: "pool-1-thread-5" prio=10 tid=0x000000000101a000 nid=0xe1f in Object.wait() [0x00007f3c66086000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0

在应用程序线程转储中,我可以看到具有五个线程的线程池,如下所示:

"pool-1-thread-5" prio=10 tid=0x000000000101a000 nid=0xe1f in Object.wait() [0x00007f3c66086000]
  java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000007b8e57af8> (a hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
    at java.lang.Object.wait(Object.java:503)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:316)
    - locked <0x00000007b8e57af8> (a hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:994)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1054)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Thread.java:722)
“pool-1-thread-5”prio=10 tid=0x000000000101a000 nid=0xe1f在Object.wait()中[0x00007f3c66086000]
java.lang.Thread.State:正在等待(在对象监视器上)
在java.lang.Object.wait(本机方法)
-等待(一个隐藏的.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
等待(Object.java:503)
位于hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:316)
-锁定(隐藏的.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
位于hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:994)
位于hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1054)
位于hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
运行(Thread.java:722)
但是我没有直接使用类似的东西,也没有在依赖项中看到类似的东西


这是什么(hidden.edu.emory.mathcs.backport)以及为什么使用它(运行在jdk 7上的应用程序)?我可以检测启动它的应用程序的哪个部分吗?

这个
edu.emory.mathcs.backport
包树所属,它是
java.util.concurrent
到旧java版本的一个backport。
hidden
前缀可能是由
maven shade plugin
等工具添加的

如果您使用的是Maven,则可以通过以下方式搜索此依赖项:

mvn dependency:tree -Dincludes=backport-util-concurrent:backport-util-concurrent

如果您可以在启动期间调试此应用程序,请在
hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
的构造函数上放置一个断点,然后查看是谁调用它。如果您只能在它运行时调试它,请中断
execute
submit
方法。调用代码的性质将告诉您使用它的原因,它是maven本身对debian()的依赖。maven启动(并且似乎没有停止)5个线程来下载工件()。