参考文献:https://www.cnblogs.com/cloudblogs/p/6440160.html 一.synchronize修饰不同代码都是锁住了什么? 大家都知道synchronize可以修饰属性.代码块,方法.类,但是修饰不同的代码锁住的内容是不同的. 1.修饰非静态属性和方法时,拿到的是调用这个方法或者属性的对象(this)的锁. 2.synchronize()修饰代码块时,拿到的是指定对象的锁. 3.修饰类.静态方法.静态代码块时,由于没有this指针,因此拿到的是类锁,也就…