赞
踩
了解了JVM基本存储原理后,那么我们如何针对程序运行在JVM中出现的一些问题进行分析和跟踪呢?我们需要借助jstack、jstat和jmap等一些工具来协助分析,包括堆和内存使用情况,线程的运行状况等。
用于查看某个Java进程内的线程堆栈信息。
例如:
jstack 12733
>jstack 12733
2020-06-10 16:41:35
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.172-b11 mixed mode):
"thread1" #12 prio=5 os_prio=0 tid=0x0000000020979800 nid=0x22dc waiting for monitor entry [0x000000002173f000]
java.lang.Thread.State: BLOCKED (on object monitor)
at com.github.shizhengchao.stack.err.JstackTest$1.run(JstackTest.java:14)
- waiting to lock <0x000000076b399b18> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:748)
.....
"main" #1 prio=5 os_prio=0 tid=0x0000000004d23800 nid=0x32ac waiting on condition [0x0000000004b3f000]
java.lang.Thread.State: TIMED_WAI
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。