13.互联网大厂高频面试题-死锁

死锁编码及定位分析

搞并发,天天河边走,不可能不湿鞋。肯定会遇到死锁。

是什么

13.互联网大厂高频面试题-死锁
13.互联网大厂高频面试题-死锁
学习的境界:学到皮,学到肉,学到骨,学到精,学到魂!
13.互联网大厂高频面试题-死锁

死锁案例演示

线程操纵资源类。
13.互联网大厂高频面试题-死锁
13.互联网大厂高频面试题-死锁

主线程测试:
13.互联网大厂高频面试题-死锁
运行结果:
13.互联网大厂高频面试题-死锁
所谓的吃着碗里的,看着锅里的。

如何解决

使用jdk工具:
13.互联网大厂高频面试题-死锁
13.互联网大厂高频面试题-死锁
去这个java文件所在的文件目录下:直接敲cmd就出来控制台了。而且是当前目录。
13.互联网大厂高频面试题-死锁
idea自带控制台,可以直接用:jps -l
13.互联网大厂高频面试题-死锁
会定位到出现死锁的线程是DeadLockDemo.
然后查看它的堆栈:jstack
13.互联网大厂高频面试题-死锁
13.互联网大厂高频面试题-死锁
会分析出是否出现了死锁。
13.互联网大厂高频面试题-死锁
很明显可以看出资源的竞争地址。
总结:
13.互联网大厂高频面试题-死锁