我有一个在 linux 服务器上运行的应用程序。以下是应用程序的一些细节
1. 它基于spring 3,quartz 1.6.1 和httpclient 4.1.2 来解析页面。
2. 基本上它的作业会在一小时内运行 1 或 12 次(大部分是每小时一次)。
3.他们所有的并发使用默认值。
我的问题是工作偶尔会停止运行。这个问题上个月发生了两次。上次提出问题时,我做了这些事情:
1. 检查进度和日志。进步仍然存在。但是所有的业务日志都停了很久。
2.查看gc日志,好像没问题。
3. 使用 jstack 导出此进度的线程转储。
虽然我得到了线程转储,但我不知道如何解释它。有人可以帮我吗?
此致
这是线程转储的全部内容:
2014-07-27 23:09:13
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01 mixed mode):
"Attach Listener" daemon prio=10 tid=0x000000005a9ba000 nid=0x5426 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"RMI TCP Connection(idle)" daemon prio=10 tid=0x000000005ca59000 nid=0x5215 waiting on condition [0x0000000041efe000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000ec44c338> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"Multicast keep-alive Heartbeat Receiver thread-1414" daemon prio=10 tid=0x00002aaab9144800 nid=0x36f5 waiting on condition [0x0000000041c97000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000ec43fbf0> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"Multicast keep-alive Heartbeat Receiver thread-1412" daemon prio=10 tid=0x00002aaab80fd800 nid=0x23e2 waiting on condition [0x00000000407e7000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000ec43fbf0> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI RenewClean-[127.0.0.1:47662,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005b505000 nid=0x639a in Object.wait() [0x0000000040e83000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ed259310> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI RenewClean-[127.0.0.1:41251,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005b05d800 nid=0x3e97 in Object.wait() [0x0000000041f82000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec73c7c0> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI RenewClean-[127.0.0.1:39067,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005a851000 nid=0x3d7b in Object.wait() [0x0000000041241000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000ec43fc08> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec43fc08> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI RenewClean-[127.0.0.1:33990,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005c657800 nid=0x3d79 in Object.wait() [0x0000000041cb8000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec43fab8> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI RenewClean-[127.0.0.1:29600,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005c977800 nid=0x3d74 in Object.wait() [0x0000000041c76000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec43fae8> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI Reaper" prio=10 tid=0x000000005c975000 nid=0x3d72 in Object.wait() [0x0000000041c55000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000ec43fb18> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec43fb18> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:333)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"GC Daemon" daemon prio=10 tid=0x000000005c974000 nid=0x3d71 in Object.wait() [0x0000000041932000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.misc.GC$Daemon.run(GC.java:100)
- locked <0x00000000ec43fb48> (a sun.misc.GC$LatencyLock)
Locked ownable synchronizers:
- None
"RMI RenewClean-[127.0.0.1:41727,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005c783800 nid=0x3d70 in Object.wait() [0x000000004181f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec43fbc0> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI Scheduler(0)" daemon prio=10 tid=0x000000005c783000 nid=0x3d6f waiting on condition [0x000000004172d000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000ec43fb90> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"RMI TCP Accept-0" daemon prio=10 tid=0x000000005bb04800 nid=0x3d6e runnable [0x000000004170c000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
- locked <0x00000000ec3a4f50> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"Replication Thread" daemon prio=10 tid=0x000000005bb07800 nid=0x3d6a waiting on condition [0x0000000041f61000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.replicationThreadMain(RMIAsynchronousCacheReplicator.java:108)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.access$100(RMIAsynchronousCacheReplicator.java:56)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator$ReplicationThread.run(RMIAsynchronousCacheReplicator.java:376)
Locked ownable synchronizers:
- None
"Replication Thread" daemon prio=10 tid=0x000000005c353800 nid=0x3d69 sleeping[0x0000000041f40000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.replicationThreadMain(RMIAsynchronousCacheReplicator.java:108)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.access$100(RMIAsynchronousCacheReplicator.java:56)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator$ReplicationThread.run(RMIAsynchronousCacheReplicator.java:376)
Locked ownable synchronizers:
- None
"net.sf.ehcache.CacheManager@4856d149" daemon prio=10 tid=0x000000005a86c800 nid=0x3d4a in Object.wait() [0x0000000041754000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:509)
- locked <0x00000000ec440280> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
Locked ownable synchronizers:
- None
"RMI TCP Accept-38303" daemon prio=10 tid=0x000000005b7ca000 nid=0x3d49 runnable [0x0000000041220000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
- locked <0x00000000ec3a5130> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- None
"Multicast Heartbeat Sender Thread" daemon prio=10 tid=0x000000005b4f2800 nid=0x3d48 in Object.wait() [0x00000000419b0000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatSender$MulticastServerThread.run(MulticastKeepaliveHeartbeatSender.java:146)
- locked <0x00000000ec440c38> (a net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatSender$MulticastServerThread)
Locked ownable synchronizers:
- None
"Multicast Heartbeat Receiver Thread" daemon prio=10 tid=0x000000005c2b7000 nid=0x3d47 runnable [0x000000004198f000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- locked <0x00000000ec43b278> (a java.net.PlainDatagramSocketImpl)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:145)
- locked <0x00000000ec43b278> (a java.net.PlainDatagramSocketImpl)
at java.net.DatagramSocket.receive(DatagramSocket.java:725)
- locked <0x00000000dd3b7a90> (a java.net.DatagramPacket)
- locked <0x00000000ec44ebf8> (a java.net.MulticastSocket)
at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatReceiver$MulticastReceiverThread.run(MulticastKeepaliveHeartbeatReceiver.java:124)
Locked ownable synchronizers:
- None
"MultiThreadedHttpConnectionManager cleanup" daemon prio=10 tid=0x000000005a8d2000 nid=0x3c35 in Object.wait() [0x0000000041481000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000ec3150d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec3150d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)
Locked ownable synchronizers:
- None
"DestroyJavaVM" prio=10 tid=0x000000005a6da000 nid=0x3a42 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"pool-1-thread-1" prio=10 tid=0x000000005aab7000 nid=0x3b1b waiting on condition [0x00000000401bd000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000ec3150f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at com.teststack.news.se.NewsSearchEngine$1.run(NewsSearchEngine.java:167)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Locked ownable synchronizers:
- <0x00000000ec32e750> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
"news_QuartzSchedulerThread" prio=10 tid=0x000000005b17b000 nid=0x3b1a in Object.wait() [0x0000000041b1c000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:296)
- locked <0x00000000ec315168> (a java.lang.Object)
Locked ownable synchronizers:
- None
"news_Worker-10" prio=10 tid=0x000000005b069000 nid=0x3b19 in Object.wait() [0x0000000041afb000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec3180f8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-9" prio=10 tid=0x000000005aced800 nid=0x3b18 in Object.wait() [0x0000000041ada000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec317f78> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-8" prio=10 tid=0x000000005bc75000 nid=0x3b17 in Object.wait() [0x0000000041ab9000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec317ff8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-7" prio=10 tid=0x000000005b0af800 nid=0x3b16 in Object.wait() [0x0000000041a98000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec318078> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-6" prio=10 tid=0x000000005ac90000 nid=0x3b15 in Object.wait() [0x00000000417fe000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec3182f8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-5" prio=10 tid=0x000000005b06f000 nid=0x3b14 in Object.wait() [0x00000000417dd000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec318178> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-4" prio=10 tid=0x000000005aee3000 nid=0x3b13 in Object.wait() [0x00000000417bc000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec3181f8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-3" prio=10 tid=0x000000005a7c4000 nid=0x3b12 in Object.wait() [0x000000004179b000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec318278> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-2" prio=10 tid=0x000000005a806000 nid=0x3b11 in Object.wait() [0x00000000416eb000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec318cf8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"news_Worker-1" prio=10 tid=0x000000005ae27000 nid=0x3b10 in Object.wait() [0x00000000402dd000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
- locked <0x00000000ec318b78> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
Locked ownable synchronizers:
- None
"Low Memory Detector" daemon prio=10 tid=0x000000005a796000 nid=0x3a4b runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread1" daemon prio=10 tid=0x000000005a794000 nid=0x3a4a waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" daemon prio=10 tid=0x000000005a78f000 nid=0x3a49 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" daemon prio=10 tid=0x000000005a78c800 nid=0x3a48 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Surrogate Locker Thread (Concurrent GC)" daemon prio=10 tid=0x000000005a78a800 nid=0x3a47 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" daemon prio=10 tid=0x000000005a768800 nid=0x3a46 in Object.wait() [0x0000000040cc7000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000ec001680> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
Locked ownable synchronizers:
- None
"Reference Handler" daemon prio=10 tid=0x000000005a766800 nid=0x3a45 in Object.wait() [0x0000000040ca6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x00000000ec0016c8> (a java.lang.ref.Reference$Lock)
Locked ownable synchronizers:
- None
"VM Thread" prio=10 tid=0x000000005a75f800 nid=0x3a44 runnable
"Concurrent Mark-Sweep GC Thread" prio=10 tid=0x000000005a704800 nid=0x3a43 runnable
"VM Periodic Task Thread" prio=10 tid=0x000000005a7a1800 nid=0x3a4c waiting on condition
JNI global references: 1323