死循环、死锁、阻塞、页面打开慢等问题,打线程dump是最好的解决问题的途径。所谓线程dump也就是线程堆栈,获取到线程堆栈有两步:
1)获取到线程的pid,可以通过使用jps命令,在Linux环境下还可以使用ps -ef | grep java
2)打印线程堆栈,可以通过使用jstack pid命令,在Linux环境下还可以使用kill -3 pid
另外提一点,Thread类提供了一个getStackTrace()方法也可以用于获取线程堆栈。这是一个实例方法,因此此方法是和具体线程实例绑定的,每次获取获取到的是具体某个线程当前运行的堆栈。

本文介绍如何通过线程dump解决死循环、死锁、阻塞及页面打开慢等问题。首先,需获取线程的PID,可通过jps或ps-ef|grepjava命令;其次,打印线程堆栈,可用jstackpid或kill-3pid命令。此外,Thread类的getStackTrace()方法也可用于获取特定线程的堆栈。
1万+

被折叠的 条评论
为什么被折叠?



