java死锁排查

发布时间:2026/7/23 17:35:41

java死锁排查 思路主要依靠命令行工具 jstack 先通过jps找到进程ID (PID)然后执行 jstack -l PID 先使用jps找到java的进程号 jstack -l 3696然后根据deadlock关键字搜索这里可以看到有两个线程相互等待锁Found one Java-level deadlock: Thread-1: waiting to lock monitor 0x000000002741b6c8 (object 0x000000071807fdd8, a java.lang.Object), which is held by Thread-0 Thread-0: waiting to lock monitor 0x000000002741bcf8 (object 0x000000071807fde8, a java.lang.Object), which is held by Thread-1 Java stack information for the threads listed above: Thread-1: at generator.domain.Test05.dec(Test05.java:23) - waiting to lock 0x000000071807fdd8 (a java.lang.Object) - locked 0x000000071807fde8 (a java.lang.Object) at generator.domain.Test05.lambda$main$1(Test05.java:43) at generator.domain.Test05$$Lambda$2/565760380.run(Unknown Source) at java.lang.Thread.run(Thread.java:750) Thread-0: at generator.domain.Test05.add(Test05.java:13) - waiting to lock 0x000000071807fde8 (a java.lang.Object) - locked 0x000000071807fdd8 (a java.lang.Object) at generator.domain.Test05.lambda$main$0(Test05.java:34) at generator.domain.Test05$$Lambda$1/930990596.run(Unknown Source) at java.lang.Thread.run(Thread.java:750)

相关新闻