在Java SE 1.6中,锁一共有4种状态,级别由低到高依次:无锁状态、偏向锁状态、轻量级锁、重量级锁。锁只能升级不能降级,目的是为了提高获得锁和释放锁的效率。
偏向锁:始终是同一个线程访问同步块
轻量级锁:没有资源竞争,多个线程交替访问同步块
重量级锁:有资源竞争,多个线程同时访问同步块