你可能对List/Set/Map有了解,那juc包下的容器与队列呢?本文将全面剖析 Java 并发容器体系,涵盖从传统同步容器到现代高性能并发容器的演进,结合代码示例与性能对比,帮助你构建高并发体系知识
Java 并发包(JUC)提供了一系列强大的并发工具类,本文将深入解析常用工具类的原理,并通过完整代码示例展示其实际应用场景
在之前的内容中已经讲述了 JMM内存模型与volatile,同时也讲述了保障线程安全的 同步互斥 与 异步非阻塞 两种方式,更描述了异步非阻塞中的 CAS 原理以及 CAS 的一些经典问题, 本文接下来继续完成我们的并发版图,了解下什么是 Atomic。
在梳理了Java内存模型的脉络以后,就讲到线程的基本状态,了解线程存在哪些状态才能对线程安全保障有更清晰的认知。其中JUC中线程安全,有 互斥同步与 非阻塞同步 两种方案,本质就是有锁和无锁的区别,在资源竞争比较大的情况下,无锁的性能要远远高于有锁的;说到了锁,那不得不说一下JVM在锁的方面做出的优化,这也是面试常问synchronized锁升级的细节点。