问题
synchronized 的执行过程1.6 之前需要大量的用户态和内核态的切换消耗了大量的资源
有了一个 无锁-->偏向锁-->自旋锁-->重量级锁 的锁升级的过程
偏向锁 如果第一个线程添加锁后无其他线程抢占资源则这个线程不会变成同步状态
自旋锁 如果持有锁的线程能在很短时间内释放锁资源,那么那些等待竞争的锁的线程就不需要做内核态和用户态之间的转换(线程私有内存,和共有内存),进入阻塞,挂起状态等。
深入理解synchronized锁升级过程_CrazySnail_x的博客-CSDN博客_synchronized锁升级过程