synchronized原理

synchronized是一种内置锁/监视器锁
Java中每个对象都有一个内置锁(监视器,也可以理解成锁标记),而synchronized就是使用对象的内置锁(监视器)来将代码块(方法)锁定的!
synchronized底层是是通过monitor对象,对象有自己的对象头,存储了很多信息,其中一个信息标示是被哪个线程持有。
JDK1.6开始Synchronized锁就做了各种的优化
优化有:偏向锁,轻量级锁,重量级锁


反编译

其他关于synchronized的文章:Synchronized锁在Spring事务管理下,为啥还线程不安全?

你可能感兴趣的:(synchronized原理)