java 怎么定位死锁线程?【面试题详解】

今天爱分享给大家带来java 怎么定位死锁线程?【面试题详解】,希望能帮助到大家。

最常见的方式就是利用 jstack 等工具获取线程栈,然后定位互相之间的依赖关系,进而找到死锁。如果是比较明显的死锁,往往 jstack 等就能直接定位,类似 JConsole 甚至可以在图形界面进行有限的死锁检测。
如果程序运行时发生了死锁,绝大多数情况下都是无法在线解决的,只能重启、修正程序本身问题。所以,代码开发阶段互相审查,或者利用工具进行预防性排查,往往也是很重要的。
首先,可以使用 jps 或者系统的 ps 命令、任务管理器等工具,确定进程 ID。
其次,调用 jstack 获取线程栈:${JAVA_HOME}\bin\jstack your_pid
然后,分析得到的输出,具体片段如下:

原文链接:https://blog.itblood.com/1158.html,转载请注明出处。
0
僵尸生活2:僵局 V0.24.1 Beta 挂载AI汉化版[八月更新][2.2G] [RPG/汉化/全动态]
僵尸生活2:僵局 V0.24.1 Beta 挂载AI汉化版[八月更新][2.2G] [RPG/汉化/全动态]
刚刚 有人购买 去瞅瞅看

站点公告

显示验证码
没有账号?注册  忘记密码?