jstack看死锁

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";
    }

你可能感兴趣的:(jstack看死锁)