①当操作系统发生死锁现象时,使用jdk自带工具查看死锁,具体操作为在终端输入jps命令,如果输入命令,不显示结果,此时关闭idea,以管理员身份重新启动idea,运行代码,重新输入jps命令,显示以下结果。
②得到java进程的进程id,使用jstack命令生成线程堆栈快照,它将输出Java进程中所有线程的详细堆栈信息。
可以看到对于线程T1等待着线程T2锁住的0x0000000716c64f98
这个资源,同时锁住了自己拥有的0x0000000716c64f20
这个资源,而对于线程T2,它等待着线程T1锁住的0x0000000716c64f20
这个资源,同时锁住了自己拥有的0x0000000716c64f98
这个资源,这样就发生了死锁。