1 锁偏向.当现成请求一个对象锁时,如果获得锁,则该对象锁进入偏向模式,当该线程再次请求该对象的锁时,无需再做任何同步操作. 可通过在Java虚拟机中开启参数-XX:+UseBasedLock开启偏向锁 适用环境是:锁的竞争不是很激烈.如果是锁竞争非常激烈的环境下,很可能下次请求当前锁的不是同一个线程,此时偏向锁失效 2 轻量锁 .如果偏向失败,虚拟机并不会立即挂起线程.虚拟机会简单的将对象的头部作为指针,指向持有锁的线程的堆栈内部,以此来判断一个线程是否持有对象锁. 如果线程获得轻量级锁成功,