一.Synchronized的底层 二.Lock的底层 CAS机制(Compare And Swap 比较并交换) + AQS(AbstractQueuedSynchronizer抽象的队列式同步器 ) 三.两者的区别 1.Synchronized 是JVM层面的,Lock是接口(java.util.concurrent.locks.lock) 2.Synchronized 是自动加锁解锁,Lock是手动lock,unlock,可中断锁 3.Synchronized 是隐式加锁解锁,Lock是显式(看的见的操作) 4.Synchronized 是悲观锁,独占式,Lock是乐观锁,实现的机制是CAS