【java】jstack

时间:2022-04-27 01:31:34
  1. 介绍

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:

    jstack [-l] pid

    如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。

  2. 命令格式

    jstack [ option ] pid

    jstack [ option ] executable core

    jstack [ option ] [server-id@]remote-hostname-or-IP

  3. 常用参数说明

    3.1 options:

    executable Java executable from which the core dump was produced.

    (可能是产生core dump的java可执行程序)

    core 将被打印信息的core dump文件

    remote-hostname-or-IP 远程debug服务的主机名或ip

    server-id 唯一id,假如一台主机上多个远程debug服务

    3.2 基本参数:

    -F当’jstack [-l] pid’没有相应的时候强制打印栈信息

    -l长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.

    -m打印java和native c/c++框架的所有栈信息.

    -h | -help打印帮助信息

    pid 需要被打印配置信息的java进程id,可以用jps查询.

  4. 示例

    打开windows管理器,找到java程序的pid

    【java】jstack

如上图,eclipse中的javaw的pid为10036,打开cmd,输入jstack 10036

shell

2017-01-07 09:40:29

Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.66-b18 mixed mode):

"Worker-277" #2969 prio=5 os_prio=0 tid=0x0000000026d3b000 nid=0x54a8 in Object.wait() [0x0000000068d6f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)

- locked <0x00000000c06def60> (a org.eclipse.core.internal.jobs.WorkerPool)

at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:52)

"Worker-275" #2938 prio=5 os_prio=0 tid=0x0000000017b18800 nid=0x274c runnable [0x00000000656ee000]

java.lang.Thread.State: RUNNABLE

at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)

at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

- locked <0x00000000eab9fc58> (a java.net.DualStackPlainSocketImpl)

at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

at java.net.AbstractPlainSocketImpl.connect(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)

at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)

at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)

at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)

at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)

at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)

at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)

at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)

at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)

at com.zeroturnaround.eclipse.optimizer.plugin.util.ZtHttpClientImpl.performRequest(ZtHttpClientImpl.java:227)

at com.zeroturnaround.eclipse.optimizer.plugin.util.ZtHttpClientImpl.performRequest(ZtHttpClientImpl.java:94)

at com.zeroturnaround.eclipse.optimizer.plugin.util.VersionsChecker.loadVersions(VersionsChecker.java:89)

at com.zeroturnaround.eclipse.optimizer.plugin.util.VersionsChecker.reloadVersions(VersionsChecker.java:79)

- locked <0x00000000c34def20> (a com.zeroturnaround.eclipse.optimizer.plugin.util.VersionsChecker)

at com.zeroturnaround.eclipse.optimizer.plugin.util.VersionsChecker.loadVersions(VersionsChecker.java:70)

- locked <0x00000000c34def20> (a com.zeroturnaround.eclipse.optimizer.plugin.util.VersionsChecker)

at com.zeroturnaround.eclipse.optimizer.plugin.Startup$4.run(Startup.java:131)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-272" #2930 prio=5 os_prio=0 tid=0x0000000017b15800 nid=0x4da4 in Object.wait() [0x0000000064dee000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)

- locked <0x00000000c06def60> (a org.eclipse.core.internal.jobs.WorkerPool)

at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:52)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #2913 daemon prio=1 os_prio=-2 tid=0x0000000023642000 nid=0x47e4 in Object.wait() [0x00000000638ee000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000ca878a38> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #2352 daemon prio=1 os_prio=-2 tid=0x0000000026d37800 nid=0x4620 in Object.wait() [0x000000005da3f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000ca018cf8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #2311 daemon prio=1 os_prio=-2 tid=0x0000000026d3f800 nid=0x4628 in Object.wait() [0x000000005553e000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c9e002b8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1245 daemon prio=1 os_prio=-2 tid=0x0000000026d40800 nid=0x41d4 in Object.wait() [0x000000005ba3f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c8a3cbe8> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1160 daemon prio=1 os_prio=-2 tid=0x0000000028643800 nid=0x2988 in Object.wait() [0x000000005583f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c8228278> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1159 daemon prio=1 os_prio=-2 tid=0x0000000028648000 nid=0x2670 in Object.wait() [0x000000005573f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c825ba48> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1085 daemon prio=1 os_prio=-2 tid=0x0000000026d36800 nid=0x13e4 in Object.wait() [0x000000004625f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c7898c28> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1084 daemon prio=1 os_prio=-2 tid=0x000000002364c000 nid=0x48f8 in Object.wait() [0x000000004615f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c78e0888> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1078 daemon prio=1 os_prio=-2 tid=0x0000000017b0d000 nid=0x2fdc in Object.wait() [0x000000000010f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c7a58418> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #1077 daemon prio=1 os_prio=-2 tid=0x0000000023644800 nid=0x3f44 in Object.wait() [0x000000007ff1f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c790de48> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #952 daemon prio=1 os_prio=-2 tid=0x0000000023648000 nid=0x226c in Object.wait() [0x000000007831f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c71992e0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #950 daemon prio=1 os_prio=-2 tid=0x0000000023647800 nid=0x46c8 in Object.wait() [0x000000007811f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c737b340> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #948 daemon prio=1 os_prio=-2 tid=0x0000000023640000 nid=0x3928 in Object.wait() [0x0000000077f1f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c741b4b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #944 daemon prio=1 os_prio=-2 tid=0x0000000023646000 nid=0x3cd8 in Object.wait() [0x0000000077b1f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c72c6570> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #941 daemon prio=1 os_prio=-2 tid=0x0000000023645000 nid=0x1c8c in Object.wait() [0x000000007781f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c7416bd0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #932 daemon prio=1 os_prio=-2 tid=0x000000002363e800 nid=0x14f8 in Object.wait() [0x0000000076f1f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c6fe12c0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #911 daemon prio=1 os_prio=-2 tid=0x0000000018642000 nid=0x4ad0 in Object.wait() [0x000000007591f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c6b6c0e0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #908 daemon prio=1 os_prio=-2 tid=0x0000000018640800 nid=0x3dcc in Object.wait() [0x000000007561f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c6cc04d8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #905 daemon prio=1 os_prio=-2 tid=0x0000000018646000 nid=0x4970 in Object.wait() [0x000000007521f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c6d26018> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #901 daemon prio=1 os_prio=-2 tid=0x0000000017b12800 nid=0x2b00 in Object.wait() [0x0000000074e1f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c6d57d28> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #893 daemon prio=1 os_prio=-2 tid=0x000000001964a000 nid=0x4a68 in Object.wait() [0x000000007451f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c67dc0f0> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #890 daemon prio=1 os_prio=-2 tid=0x0000000017b17000 nid=0x5188 in Object.wait() [0x000000007421f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c68139b8> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #885 daemon prio=1 os_prio=-2 tid=0x0000000017b9e800 nid=0x3170 in Object.wait() [0x0000000073d1f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c6590b88> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #880 daemon prio=1 os_prio=-2 tid=0x000000001964d800 nid=0x31f8 in Object.wait() [0x000000007371f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c668bb88> (a java.util.Collections$SynchronizedRandomAccessList)

"org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" #874 daemon prio=1 os_prio=-2 tid=0x0000000017b11800 nid=0xf68 in Object.wait() [0x000000007321e000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:667)

- locked <0x00000000c638f240> (a java.util.Collections$SynchronizedRandomAccessList)

"Keep-Alive-SocketCleaner" #665 daemon prio=8 os_prio=1 tid=0x000000001964d000 nid=0x52c4 in Object.wait() [0x0000000063bee000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at sun.net.www.http.KeepAliveStreamCleaner.run(Unknown Source)

- locked <0x00000000c5efcf38> (a sun.net.www.http.KeepAliveStreamCleaner)

at java.lang.Thread.run(Unknown Source)

"Thread-350" #596 prio=6 os_prio=0 tid=0x00000000253ef000 nid=0x44b4 runnable [0x000000005f6ef000]

java.lang.Thread.State: RUNNABLE

at java.net.DualStackPlainSocketImpl.accept0(Native Method)

at java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)

at java.net.AbstractPlainSocketImpl.accept(Unknown Source)

at java.net.PlainSocketImpl.accept(Unknown Source)

- locked <0x00000000c5c12ba8> (a java.net.SocksSocketImpl)

at java.net.ServerSocket.implAccept(Unknown Source)

at java.net.ServerSocket.accept(Unknown Source)

at runjettyrun.Plugin$1.run(Plugin.java:202)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #584 daemon prio=1 os_prio=-2 tid=0x0000000017b13000 nid=0x8c0 in Object.wait() [0x000000005eaef000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c5835288> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #206 daemon prio=1 os_prio=-2 tid=0x0000000017b9d000 nid=0x4898 in Object.wait() [0x0000000044dde000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c4eaf620> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Recommenders-Timeout-Manager" #158 prio=5 os_prio=0 tid=0x00000000253e5800 nid=0xefc waiting on condition [0x0000000041bde000]

java.lang.Thread.State: WAITING (parking)

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000000c4b641c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

at java.util.concurrent.locks.LockSupport.park(Unknown Source)

at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"Timer-9" #154 daemon prio=6 os_prio=0 tid=0x00000000253e8800 nid=0x26e8 in Object.wait() [0x00000000416df000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.util.TimerThread.mainLoop(Unknown Source)

- locked <0x00000000c4b062c0> (a java.util.TaskQueue)

at java.util.TimerThread.run(Unknown Source)

"com.google.inject.internal.util.$Finalizer" #151 daemon prio=6 os_prio=0 tid=0x00000000253e4800 nid=0x2dc0 in Object.wait() [0x00000000413df000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x00000000c4af89d8> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114)

"[ThreadPool Manager] - Idle Thread" #89 daemon prio=5 os_prio=0 tid=0x0000000017b9a000 nid=0x4d94 in Object.wait() [0x0000000035edf000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)

- locked <0x00000000c38fa420> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

"pool-7-thread-1" #85 prio=5 os_prio=0 tid=0x0000000017b9b800 nid=0x18c4 waiting on condition [0x0000000034b0f000]

java.lang.Thread.State: TIMED_WAITING (parking)

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000000c3cf6b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)

at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #83 daemon prio=1 os_prio=-2 tid=0x0000000017ba4800 nid=0x51b8 in Object.wait() [0x0000000034a0e000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c3923b68> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Timer-8" #80 daemon prio=5 os_prio=0 tid=0x0000000017b9d800 nid=0x3a80 in Object.wait() [0x000000003460f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.util.TimerThread.mainLoop(Unknown Source)

- locked <0x00000000c3a0bd68> (a java.util.TaskQueue)

at java.util.TimerThread.run(Unknown Source)

"rebel.lwatch" #74 daemon prio=5 os_prio=0 tid=0x0000000017b9f000 nid=0x4c50 in Object.wait() [0x0000000032fff000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.zeroturnaround.jrebel.client.licensing.Watcher$1.run(Watcher.java:79)

- locked <0x00000000c2c333b8> (a org.zeroturnaround.jrebel.client.licensing.Watcher)

at java.lang.Thread.run(Unknown Source)

"JavaScript indexing" #63 daemon prio=4 os_prio=-1 tid=0x00000000253ed800 nid=0x51ac in Object.wait() [0x00000000324ff000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.run(JobManager.java:370)

- locked <0x00000000c2e93880> (a org.eclipse.wst.jsdt.internal.core.search.indexing.IndexManager)

at java.lang.Thread.run(Unknown Source)

"Provisioning Event Dispatcher" #58 daemon prio=5 os_prio=0 tid=0x00000000253e6000 nid=0x45a4 in Object.wait() [0x0000000031cff000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)

- locked <0x00000000c307c290> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

"pool-5-thread-1" #56 prio=5 os_prio=0 tid=0x00000000253ea000 nid=0x6f8 runnable [0x0000000031bfe000]

java.lang.Thread.State: RUNNABLE

at java.net.DualStackPlainSocketImpl.accept0(Native Method)

at java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)

at java.net.AbstractPlainSocketImpl.accept(Unknown Source)

at java.net.PlainSocketImpl.accept(Unknown Source)

- locked <0x00000000c2a2e4c8> (a java.net.SocksSocketImpl)

at java.net.ServerSocket.implAccept(Unknown Source)

at java.net.ServerSocket.accept(Unknown Source)

at org.zeroturnaround.jrebel.ide.common.notifications.NotificationServer$1.run(NotificationServer.java:129)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"JRebel Statistics Watcher" #55 prio=5 os_prio=0 tid=0x00000000253ea800 nid=0x3a94 waiting on condition [0x00000000316ff000]

java.lang.Thread.State: TIMED_WAITING (sleeping)

at java.lang.Thread.sleep(Native Method)

at org.zeroturnaround.eclipse.notifications.RebelStatsFileWatcher.run(RebelStatsFileWatcher.java:54)

at java.lang.Thread.run(Unknown Source)

"Thread-9" #49 prio=5 os_prio=0 tid=0x00000000253e7000 nid=0x3ba0 waiting on condition [0x00000000300ef000]

java.lang.Thread.State: TIMED_WAITING (sleeping)

at java.lang.Thread.sleep(Native Method)

at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:68)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #32 daemon prio=1 os_prio=-2 tid=0x00000000199df000 nid=0x4710 in Object.wait() [0x00000000268bf000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)

- locked <0x00000000c22b70b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"EventAdmin Async Event Dispatcher Thread" #31 daemon prio=6 os_prio=0 tid=0x00000000199dd000 nid=0x5318 in Object.wait() [0x00000000245bf000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)

- locked <0x00000000c25cfa10> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

"Java indexing" #26 daemon prio=4 os_prio=-1 tid=0x00000000199e2000 nid=0x2e54 in Object.wait() [0x000000002216e000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:382)

- locked <0x00000000c170cfd0> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)

at java.lang.Thread.run(Unknown Source)

"Bundle File Closer" #25 daemon prio=6 os_prio=0 tid=0x00000000199e0000 nid=0x32f8 in Object.wait() [0x0000000021c6f000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)

- locked <0x00000000c1c857c0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

"EMF Reference Cleaner" #22 daemon prio=6 os_prio=0 tid=0x000000001898b000 nid=0x3718 in Object.wait() [0x000000002031e000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x00000000c0d00060> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at org.eclipse.emf.common.util.CommonUtil$1ReferenceClearingQueuePollingThread.run(CommonUtil.java:70)

"Worker-JM" #17 prio=5 os_prio=0 tid=0x0000000017e50000 nid=0xd88 in Object.wait() [0x000000001f80f000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:59)

- locked <0x00000000c06df238> (a java.util.ArrayList)

"[Timer] - Main Queue Handler" #16 daemon prio=5 os_prio=0 tid=0x00000000188d8000 nid=0x377c in Object.wait() [0x000000001f70f000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)

- locked <0x00000000c0cb0370> (a java.lang.Object)

at java.lang.Thread.run(Unknown Source)

"Start Level: Equinox Container: 607454e3-e7d2-0016-1614-a06fb5b7a3d3" #14 daemon prio=5 os_prio=0 tid=0x0000000019705000 nid=0x3828 in Object.wait() [0x000000001a65f000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x00000000c0305d90> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)

- locked <0x00000000c0305d90> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

"Framework Event Dispatcher: Equinox Container: 607454e3-e7d2-0016-1614-a06fb5b7a3d3" #13 daemon prio=5 os_prio=0 tid=0x0000000019711800 nid=0x46fc in Object.wait() [0x000000001a55f000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)

- locked <0x00000000c0d18040> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

"Active Thread: Equinox Container: 607454e3-e7d2-0016-1614-a06fb5b7a3d3" #11 prio=5 os_prio=0 tid=0x000000001861e800 nid=0x4210 waiting on condition [0x000000001a45e000]

java.lang.Thread.State: TIMED_WAITING (parking)

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000000c0d18880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)

at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00000000169e2000 nid=0x4a74 runnable [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000016963000 nid=0x38f8 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000016956000 nid=0x1b24 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000016955000 nid=0x1da0 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x00000000153ba000 nid=0x1d90 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x00000000153b9800 nid=0x3388 runnable [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x0000000002c87000 nid=0x38b0 in Object.wait() [0x00000000166bf000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x00000000c11e1c00> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000002c7e000 nid=0x1114 in Object.wait() [0x00000000165bf000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

- locked <0x00000000c11e1c40> (a java.lang.ref.Reference$Lock)

"main" #1 prio=6 os_prio=0 tid=0x0000000002b92800 nid=0x2998 runnable [0x00000000029fe000]

java.lang.Thread.State: RUNNABLE

at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)

at org.eclipse.swt.widgets.Display.sleep(Display.java:4728)

at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:368)

at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.eventLoopIdle(IDEWorkbenchAdvisor.java:858)

at org.eclipse.ui.internal.Workbench$3.eventLoopIdle(Workbench.java:517)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1132)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)

at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)

at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)

at org.eclipse.equinox.launcher.Main.run(Main.java:1515)

at org.eclipse.equinox.launcher.Main.main(Main.java:1488)

"VM Thread" os_prio=2 tid=0x0000000015328000 nid=0x53f8 runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x0000000002ba8000 nid=0x4e20 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x0000000002ba9800 nid=0xa3c runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002bab000 nid=0x54c runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002bad800 nid=0x501c runnable

"VM Periodic Task Thread" os_prio=2 tid=0x0000000016a0c000 nid=0x424 waiting on condition

JNI global references: 478


如果输出到文件,在windows下可以增加>>result.txt,即可输出到指定文件

【java】jstack的更多相关文章

  1. 【java】jstack分析查看线程状态

    演示代码 public class StackTest { public static void main(String[] args) { Thread thread = new Thread(ne ...

  2. 【Java】代处理?代理模式 - 静态代理,动态代理

    >不用代理 有时候,我希望在一些方法前后都打印一些日志,于是有了如下代码. 这是一个处理float类型加法的方法,我想在调用它前打印一下参数,调用后打印下计算结果.(至于为什么不直接用+号运算, ...

  3. 【Java】推断文件的后缀名

    这本来不是一个问题,利用框架本来有的方法.或者File类的getPath()方法,取出要推断文件路径.或者getName()方法取出文件路径,成为一个String字符串如果为fileName之后,再对 ...

  4. 【JAVA】【NIO】3、Java NIO Channel

    Java NIO和流量相似,但有些差异: ·通道可读写,流仅支持单向.读或写 ·异步通道读取 ·通道读写器,他们是和Buffer交替 道的实现 下面是Java NIO中最重要的通道的实现: ·File ...

  5. 【JAVA】【NIO】5、Java NIO Scatter &sol; Gather

    标题手段Java NIO该分散体浓缩 Java NIO内置支持分散与收集.的概念主要用于信道分散聚集的读写. 读出的分散体的一个通道被读多个数据buffer在.因此.数据分散到多个buffer中. 对 ...

  6. 【Java】0X001&period;配置开发环境,JDK、classpath等

    [Java]0x01 配置开发环境,JDK.CLASSPATH等 一. 下载JDK安装文件 首先,进入Oracle官网Java页面. 注意,要下载的是JDK而不是JRE,这点很重要,因为JRE并不包含 ...

  7. for循环输出空心菱形的形状【java】

    使用for循环语句输出以下“空心菱形”效果: * * * * * * * * * * * * * * * * 建议优先参考笔者的另一篇文章:<for循环输出菱形的形状[java]> 代码: ...

  8. 【Java】「深入理解Java虚拟机」学习笔记(1) - Java语言发展趋势

    0.前言 从这篇随笔开始记录Java虚拟机的内容,以前只是对Java的应用,聚焦的是业务,了解的只是语言层面,现在想深入学习一下. 对JVM的学习肯定不是看一遍书就能掌握的,在今后的学习和实践中如果有 ...

  9. 【Java】NO&period;83&period;Tool&period;1&period;GlassFish&period;1&period;001-【GlassFish 5 安装使用】-

    1.0.0 Summary Tittle:[Java]NO.83.Tool.1.GlassFish.1.001-[GlassFish 5 安装使用]- Style:EBook Series:Java ...

随机推荐

  1. TypeScript中的枚举类型

    TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...

  2. &period;net使用pdfobject&period;js加载pdf文件

    1.下载pdfobject.js文件 2. <script type="text/javascript" src="<%= Application[&quot ...

  3. css伪元素研究(&colon;&colon;before&sol;&colon;&colon;after)

    ::before/::after和:before/:after实质上效果一样 不过,在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时 ...

  4. linux上java路径设置

    linux上java路径设置 标签: javalinuxpath 2012-04-30 22:14 1843人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 往/e ...

  5. HDU 5724 Chess(博弈论)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5724 [题目大意] 给出一个n行,每行有20格的棋盘,棋盘上有一些棋子,每次操作可以选择其中一个棋 ...

  6. 关于项目中ajax 操作 原生项目遇到的问题

    单选框动态赋值 $('input[name=pszt][value='+val+']').attr("checked",true); 置顶的几种方式 window.scrollTo ...

  7. Django(八)上:Model操作和Form操作

    ↑↑↑点上面的”+”号展开目录 Model和Form以及ModelForm简介 Model操作: 创建数据库表结构 操作数据库表 做一部分的验证 Form操作: 数据验证(强大) ModelForm ...

  8. 汇编语言--微机CPU的指令系统(五)(位操作指令)

    (6) 位操作指令 1.位扫描指令(Bit Scan Instruction) 指令的格式:BSF/BSR Reg, Reg/Mem ;80386+ 受影响的标志位:ZF 位扫描指令是在第二个操作数中 ...

  9. QT编写的网页浏览器网页乱码解决方法

    1.如果是本地网页,可以将网页编码改为GB2312 <meta http-equiv="Content-Type" content="text/html; char ...

  10. 功能测试-UI测试思考点

    界面是否美观 元素大小 界面元素是否对齐方式统一 界面字体属性是否正确 界面链接及触发动作( 链接的地址是否正确,不允许存在死链的情况 链接打开方式,当前页面还是新开页面 鼠标点击后的颜色是否美观,不 ...