jstack: 官网
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstack.html
jstack 15764 > 15764.txt
15764进程的线程状态保存到 15764.txt 文件
sz 15764.txt
下载这个文件
拉到文件最下面, 能看到jvm 已经发现死锁
/**
* 死锁
* */
@RequestMapping("/deadlock")
public String deadlock(){
new Thread(()->{
synchronized(lock1) {
try {Thread.sleep(1000);}catch(Exception e) {}
synchronized(lock2) {
System.out.println("Thread1 over");
}
}
}) .start();
new Thread(()->{
synchronized(lock2) {
try {Thread.sleep(1000);}catch(Exception e) {}
synchronized(lock1) {
System.out.println("Thread2 over");
}
}
}) .start();
return "deadlock";
}