java之Thread Dump分析

来源:互联网 发布:微拍网站源码带采集 编辑:程序博客网 时间:2024/05/16 06:50

什么是Thread Dump

Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。

Thread Dump特点

  1. 能在各种操作系统下使用
  2. 能在各种Java应用服务器下使用
  3. 可以在生产环境下使用而不影响系统的性能
  4. 可以将问题直接定位到应用程序的代码行上

Thread Dump 能诊断的问题

  1. 查找内存泄露,常见的是程序里load大量的数据到缓存;
  2. 发现死锁线程;

Thread Dump最常用的两种方式

Thread dumps 能帮助我们判断 CPU 峰值、死锁、内存异常、应用反应迟钝、响应时间变长和其他系统问题。一些在线的分析工具比如 http://fastthread.io/ 也能帮助我们分析和定位问题,但是这些工具都要求有一个 dump 文件。
Dump 文件有很多种方式可以获取到,由于笔者经常是linux上开发或者运行程序,所以介绍两种最常用的方式。

jstack

jstack 是一个抓取 thread dump 文件的有效的命令行工具,它位于 JDK 目录里的 bin 文件夹下(JDK_HOME\bin),以下是抓取 dump 文件的命令:
jstack -l <pid> > <file-path>
说明
pid: Java 应用的进程 id ,也就是需要抓取 dump 文件的应用进程 id。
file-path: 保存 dump 文件的路径。
示例
jstack -l 37320 > /opt/tmp/threadDump.txt
上面的例子演示了用 jstack 生成 dump 文件到 /opt/tmp/threadDump.txt 目录下。
另外,从 Java5 开始,jstack 被包含进了 jdk 当中,如果你使用老版本的 jdk,要考虑使用其他方式。

Kill -3

处于安全方面的考虑,有一部分生产环境的机器只包含 JRE 环境,因此就不能使用 jstack 工具了,在这种情况下,我们可以使用 kill -3 的方式:

kill -3 <pid>
说明:
pid: Java 应用的进程 id ,也就是需要抓取 dump 文件的应用进程 id 。

示例:
kill -3 37320
当使用 kill -3 生成 dump 文件时,dump 文件会被输出到标准错误流。假如你的应用运行在 tomcat 上,dump 内容将被发送到/logs/catalina.out 文件里。

Dump文件分析

先贴一个Dump文件的内容。

2017-08-20 23:01:03Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode):"Attach Listener" #62 daemon prio=9 os_prio=0 tid=0x00007f762808d800 nid=0x3058 waiting on condition [0x0000000000000000]   java.lang.Thread.State: RUNNABLE   Locked ownable synchronizers:    - None"main-EventThread" #61 daemon prio=5 os_prio=0 tid=0x00007f7650971800 nid=0x2bde waiting on condition [0x00007f761dfe2000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000c52104c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:491)   Locked ownable synchronizers:    - None"main-SendThread(zookeeper-cluster3.base:2181)" #60 daemon prio=5 os_prio=0 tid=0x00007f76505d6000 nid=0x2bdd runnable [0x00007f761e0e3000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)    - locked <0x00000000c5210730> (a sun.nio.ch.Util$2)    - locked <0x00000000c5210740> (a java.util.Collections$UnmodifiableSet)    - locked <0x00000000c5210750> (a sun.nio.ch.EPollSelectorImpl)    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:338)    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)   Locked ownable synchronizers:    - None"ajp-nio-8009-AsyncTimeout" #48 daemon prio=5 os_prio=0 tid=0x00007f76504d0800 nid=0x93e waiting on condition [0x00007f761e6e5000]   java.lang.Thread.State: TIMED_WAITING (sleeping)    at java.lang.Thread.sleep(Native Method)    at org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1139)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-Acceptor-0" #47 daemon prio=5 os_prio=0 tid=0x00007f7650503800 nid=0x93d runnable [0x00007f761e7e6000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)    - locked <0x00000000d8870cb0> (a java.lang.Object)    at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:417)    at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:69)    at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:95)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-ClientPoller-0" #46 daemon prio=5 os_prio=0 tid=0x00007f7650502000 nid=0x93c runnable [0x00007f761e8e7000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)    - locked <0x00000000d9946e68> (a sun.nio.ch.Util$2)    - locked <0x00000000d9946e58> (a java.util.Collections$UnmodifiableSet)    - locked <0x00000000d9946e10> (a sun.nio.ch.EPollSelectorImpl)    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:702)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-10" #45 daemon prio=5 os_prio=0 tid=0x00007f76504f0800 nid=0x93b waiting on condition [0x00007f761e9e8000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-9" #44 daemon prio=5 os_prio=0 tid=0x00007f76504a5800 nid=0x93a waiting on condition [0x00007f761eae9000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-8" #43 daemon prio=5 os_prio=0 tid=0x00007f765049e000 nid=0x939 waiting on condition [0x00007f761ebea000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-7" #42 daemon prio=5 os_prio=0 tid=0x00007f76504b7800 nid=0x938 waiting on condition [0x00007f761eceb000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-6" #41 daemon prio=5 os_prio=0 tid=0x00007f7650566000 nid=0x937 waiting on condition [0x00007f761edec000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-5" #40 daemon prio=5 os_prio=0 tid=0x00007f76504f7000 nid=0x936 waiting on condition [0x00007f761eeed000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-4" #39 daemon prio=5 os_prio=0 tid=0x00007f765014f000 nid=0x935 waiting on condition [0x00007f761efee000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-3" #38 daemon prio=5 os_prio=0 tid=0x00007f76509e5800 nid=0x934 waiting on condition [0x00007f761f0ef000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-2" #37 daemon prio=5 os_prio=0 tid=0x00007f765107b800 nid=0x933 waiting on condition [0x00007f761f1f0000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ajp-nio-8009-exec-1" #36 daemon prio=5 os_prio=0 tid=0x00007f7650fea800 nid=0x932 waiting on condition [0x00007f761f2f1000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9947028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-AsyncTimeout" #35 daemon prio=5 os_prio=0 tid=0x00007f7650c69000 nid=0x931 waiting on condition [0x00007f761f3f2000]   java.lang.Thread.State: TIMED_WAITING (sleeping)    at java.lang.Thread.sleep(Native Method)    at org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1139)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-Acceptor-0" #34 daemon prio=5 os_prio=0 tid=0x00007f76509d3800 nid=0x930 runnable [0x00007f761f4f3000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)    - locked <0x00000000d875ab68> (a java.lang.Object)    at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:417)    at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:69)    at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:95)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-ClientPoller-0" #33 daemon prio=5 os_prio=0 tid=0x00007f7650556000 nid=0x92f runnable [0x00007f761f5f4000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)    - locked <0x00000000d9948770> (a sun.nio.ch.Util$2)    - locked <0x00000000d9948760> (a java.util.Collections$UnmodifiableSet)    - locked <0x00000000d9948718> (a sun.nio.ch.EPollSelectorImpl)    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:702)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-10" #32 daemon prio=5 os_prio=0 tid=0x00007f76504f3000 nid=0x92e waiting on condition [0x00007f761f6f5000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-9" #31 daemon prio=5 os_prio=0 tid=0x00007f76504e2800 nid=0x92d waiting on condition [0x00007f761f7f6000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-8" #30 daemon prio=5 os_prio=0 tid=0x00007f76504f5800 nid=0x92c waiting on condition [0x00007f761f8f7000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-7" #29 daemon prio=5 os_prio=0 tid=0x00007f76504f5000 nid=0x92b waiting on condition [0x00007f761f9f8000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-6" #28 daemon prio=5 os_prio=0 tid=0x00007f76504e1000 nid=0x92a waiting on condition [0x00007f761faf9000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-5" #27 daemon prio=5 os_prio=0 tid=0x00007f765049b800 nid=0x929 waiting on condition [0x00007f761fbfa000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-4" #26 daemon prio=5 os_prio=0 tid=0x00007f7650498000 nid=0x928 waiting on condition [0x00007f761fcfb000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-3" #25 daemon prio=5 os_prio=0 tid=0x00007f76504d3000 nid=0x927 waiting on condition [0x00007f761fdfc000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-2" #24 daemon prio=5 os_prio=0 tid=0x00007f76504a8000 nid=0x926 waiting on condition [0x00007f761fefd000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"http-nio-8080-exec-1" #23 daemon prio=5 os_prio=0 tid=0x00007f76504ea800 nid=0x925 waiting on condition [0x00007f761fffe000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d9948930> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"ContainerBackgroundProcessor[StandardEngine[Catalina]]" #22 daemon prio=5 os_prio=0 tid=0x00007f76504d4000 nid=0x924 waiting on condition [0x00007f764029e000]   java.lang.Thread.State: TIMED_WAITING (sleeping)    at java.lang.Thread.sleep(Native Method)    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1361)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"Druid-ConnectionPool-Destroy-1062791125" #21 daemon prio=5 os_prio=0 tid=0x00007f7650da5800 nid=0x921 waiting on condition [0x00007f762cb8f000]   java.lang.Thread.State: TIMED_WAITING (sleeping)    at java.lang.Thread.sleep(Native Method)    at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2181)   Locked ownable synchronizers:    - None"Druid-ConnectionPool-Create-1062791125" #20 daemon prio=5 os_prio=0 tid=0x00007f7650da5000 nid=0x920 waiting on condition [0x00007f762cc90000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d8f5d648> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2088)   Locked ownable synchronizers:    - None"Abandoned connection cleanup thread" #19 daemon prio=5 os_prio=0 tid=0x00007f7650b1d800 nid=0x91f in Object.wait() [0x00007f762cf91000]   java.lang.Thread.State: TIMED_WAITING (on object monitor)    at java.lang.Object.wait(Native Method)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)    - locked <0x00000000d8f5d7d8> (a java.lang.ref.ReferenceQueue$Lock)    at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)   Locked ownable synchronizers:    - None"ZkClient-EventThread-16-172.28.1.111:2181,172.28.1.114:2181,172.28.1.113:2181" #16 daemon prio=5 os_prio=0 tid=0x00007f7650c7f000 nid=0x908 waiting on condition [0x00007f762d96d000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d8e29da8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:67)   Locked ownable synchronizers:    - None"NioBlockingSelector.BlockPoller-2" #14 daemon prio=5 os_prio=0 tid=0x00007f7650448800 nid=0x8fb runnable [0x00007f764059f000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)    - locked <0x00000000d852a990> (a sun.nio.ch.Util$2)    - locked <0x00000000d852a9a0> (a java.util.Collections$UnmodifiableSet)    - locked <0x00000000d852a948> (a sun.nio.ch.EPollSelectorImpl)    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)    at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:285)   Locked ownable synchronizers:    - None"NioBlockingSelector.BlockPoller-1" #13 daemon prio=5 os_prio=0 tid=0x00007f765043a000 nid=0x8fa runnable [0x00007f76406a0000]   java.lang.Thread.State: RUNNABLE    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)    at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)    at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)    - locked <0x00000000d852abc8> (a sun.nio.ch.Util$2)    - locked <0x00000000d852abd8> (a java.util.Collections$UnmodifiableSet)    - locked <0x00000000d852ab80> (a sun.nio.ch.EPollSelectorImpl)    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)    at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:285)   Locked ownable synchronizers:    - None"GC Daemon" #12 daemon prio=2 os_prio=0 tid=0x00007f76503ab000 nid=0x8f9 in Object.wait() [0x00007f7640dfe000]   java.lang.Thread.State: TIMED_WAITING (on object monitor)    at java.lang.Object.wait(Native Method)    - waiting on <0x00000000d852ad60> (a sun.misc.GC$LatencyLock)    at sun.misc.GC$Daemon.run(GC.java:117)    - locked <0x00000000d852ad60> (a sun.misc.GC$LatencyLock)   Locked ownable synchronizers:    - None"pool-1-thread-1" #11 prio=5 os_prio=0 tid=0x00007f7650169000 nid=0x8f8 waiting on condition [0x00007f7654879000]   java.lang.Thread.State: WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d835b188> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at java.lang.Thread.run(Thread.java:745)   Locked ownable synchronizers:    - None"AsyncFileHandlerWriter-1304836502" #10 daemon prio=5 os_prio=0 tid=0x00007f7650114000 nid=0x8f7 waiting on condition [0x00007f765497a000]   java.lang.Thread.State: TIMED_WAITING (parking)    at sun.misc.Unsafe.park(Native Method)    - parking to wait for  <0x00000000d835b408> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)    at java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522)    at java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684)    at org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:160)   Locked ownable synchronizers:    - None"Service Thread" #7 daemon prio=9 os_prio=0 tid=0x00007f76500bd000 nid=0x8f5 runnable [0x0000000000000000]   java.lang.Thread.State: RUNNABLE   Locked ownable synchronizers:    - None"C1 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f76500af800 nid=0x8f4 waiting on condition [0x0000000000000000]   java.lang.Thread.State: RUNNABLE   Locked ownable synchronizers:    - None"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f76500ad800 nid=0x8f3 waiting on condition [0x0000000000000000]   java.lang.Thread.State: RUNNABLE   Locked ownable synchronizers:    - None"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f76500ac000 nid=0x8f2 runnable [0x0000000000000000]   java.lang.Thread.State: RUNNABLE   Locked ownable synchronizers:    - None"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f7650074000 nid=0x8f1 in Object.wait() [0x00007f7654f82000]   java.lang.Thread.State: WAITING (on object monitor)    at java.lang.Object.wait(Native Method)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)    - locked <0x00000000d835bd90> (a java.lang.ref.ReferenceQueue$Lock)    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)   Locked ownable synchronizers:    - None"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f7650072000 nid=0x8f0 in Object.wait() [0x00007f7655083000]   java.lang.Thread.State: WAITING (on object monitor)    at java.lang.Object.wait(Native Method)    at java.lang.Object.wait(Object.java:502)    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)    - locked <0x00000000d835bf48> (a java.lang.ref.Reference$Lock)   Locked ownable synchronizers:    - None"main" #1 prio=5 os_prio=0 tid=0x00007f7650009000 nid=0x8ee runnable [0x00007f7656cfa000]   java.lang.Thread.State: RUNNABLE    at java.net.PlainSocketImpl.socketAccept(Native Method)    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)    at java.net.ServerSocket.implAccept(ServerSocket.java:545)    at java.net.ServerSocket.accept(ServerSocket.java:513)    at org.apache.catalina.core.StandardServer.await(StandardServer.java:447)    at org.apache.catalina.startup.Catalina.await(Catalina.java:745)    at org.apache.catalina.startup.Catalina.start(Catalina.java:691)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:497)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)   Locked ownable synchronizers:    - None"VM Thread" os_prio=0 tid=0x00007f765006d000 nid=0x8ef runnable "VM Periodic Task Thread" os_prio=0 tid=0x00007f76500c0000 nid=0x8f6 waiting on condition JNI global references: 506
原创粉丝点击