前言
高效并发是从 JDK 1.5 到 JDK 1.6 的一个重要改进,HotSpot 虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁粗化(Lock Coarsening)、轻量级锁(Lightweight Locking)和偏向锁(Biased Locking)等,这些技术都是为了在线程之间高效地共享数据,以及解决竞争问题,从而提交程序的执行效率。
上一篇文章中,我们针对 Java 并发编程进行了了解,如线程以及线程安全概念、Java 内存模型等基础性知识。本章,我们针对 Java 提供的种类丰富的锁,为读者介绍主流锁的知识点,以及不同的锁的适用场景。