**为什么有自旋锁还需要重量级锁?** > 自旋是消耗CPU资源的,如果锁的时间长,或者自旋线程多,CPU会被大量消耗 > > 重量级锁有等待队列,所有拿不到锁的进入等待队列,不需要消耗CPU资源 **偏向锁是否一定比自旋锁效率高?** > 不一定,在明确知道会有多线程竞争的情况下,偏向锁肯定会涉及锁撤销,这时候直接使用自旋锁 > > JVM启动过程,会有很多线程竞争(明确),所以默认情况启动时不打开偏向锁,过一段儿时间再打开