"线程2"#9 prio=5 os_prio=0 tid=0x00007fdcd0138000 nid=0x52a7 waiting for monitor entry [0x00007fdcc06a6000] java.lang.Thread.State: BLOCKED (on object monitor) at com.hnbian.memory.structure.DeaLock.lambda$main$1(DeaLock.java:36) - waiting to lock <0x00000000e3469600> (a java.lang.Object) - locked <0x00000000e3469610> (a java.lang.Object) at com.hnbian.memory.structure.DeaLock$$Lambda$2/250421012.run(Unknown Source) at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers: - None
"线程1"#8 prio=5 os_prio=0 tid=0x00007fdcd0136800 nid=0x52a6 waiting for monitor entry [0x00007fdcc07a7000] java.lang.Thread.State: BLOCKED (on object monitor) at com.hnbian.memory.structure.DeaLock.lambda$main$0(DeaLock.java:22) - waiting to lock <0x00000000e3469610> (a java.lang.Object) - locked <0x00000000e3469600> (a java.lang.Object) at com.hnbian.memory.structure.DeaLock$$Lambda$1/245257410.run(Unknown Source) at java.lang.Thread.run(Thread.java:748)
"Finalizer"#3 daemon prio=8 os_prio=0 tid=0x00007fdcd00a1000 nid=0x52a0 in Object.wait() [0x00007fdcc0dad000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000e3408ed0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144) - locked <0x00000000e3408ed0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)
Locked ownable synchronizers: - None
"Reference Handler"#2 daemon prio=10 os_prio=0 tid=0x00007fdcd009e800 nid=0x529f in Object.wait() [0x00007fdcc0eae000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000e3406bf8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference.tryHandlePending(Reference.java:191) - locked <0x00000000e3406bf8> (a java.lang.ref.Reference$Lock) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
"VM Periodic Task Thread" os_prio=0 tid=0x00007fdcd00e0000 nid=0x52a5 waiting on condition
JNI global references: 310
Found one Java-level deadlock: # 发现线程死锁 ============================= "线程2": waiting to lock monitor 0x00007fdcb40062c8 (object 0x00000000e3469600, a java.lang.Object), which is held by "线程1" "线程1": waiting to lock monitor 0x00007fdcb40038d8 (object 0x00000000e3469610, a java.lang.Object), which is held by "线程2"
Java stack information for the threads listed above: =================================================== "线程2": at com.hnbian.memory.structure.DeaLock.lambda$main$1(DeaLock.java:36) # 标注线程死锁行数 - waiting to lock <0x00000000e3469600> (a java.lang.Object) - locked <0x00000000e3469610> (a java.lang.Object) at com.hnbian.memory.structure.DeaLock$$Lambda$2/250421012.run(Unknown Source) at java.lang.Thread.run(Thread.java:748) "线程1": at com.hnbian.memory.structure.DeaLock.lambda$main$0(DeaLock.java:22) # 标注线程死锁行数 - waiting to lock <0x00000000e3469610> (a java.lang.Object) - locked <0x00000000e3469600> (a java.lang.Object) at com.hnbian.memory.structure.DeaLock$$Lambda$1/245257410.run(Unknown Source) at java.lang.Thread.run(Thread.java:748)