业务代码是否存在死锁?如何排查它们? 项目场景问题描述解决方案 项目场景 多线程开发时可能会因为竞争资源导致死锁出现,出现死锁的必要条件:竞争资源、请求保持、不可剥夺和循环等待。 问题描述 出现死锁时会导致服务器吞吐量降低,此时如何排查是否为死锁导致的问题呢? 解决方案 可以使用jps工具获取当前java进程pid jps -l 借助jstack工具检测死锁 jstack -l <pid>