1、首先启动arthas
java -jar arthas-boot.jar
2、如何判断有没有发生线程死锁
方式一:使用jvm
jvm
jvm打印的输出内容中查看最后几行,可以看到DEADLOCK-COUNT值为2,说明有 2个线程死锁
方式二:使用thread -b命令找出当前阻塞其他线程的线程
可以看到线程45被线程46阻塞了
再通过thread 线程ID命令查看发生死锁的代码在哪
再通过jad反编译已加载的类的源码查找问题:
jad --source-only com.codex.terry.controller.CpuController