← 全部专题

7 篇公开文章

Java 并发工程

从共享变量、原子更新与锁,到线程协作、上下文和异步任务,用七篇文章与 Java 21 最小实验理解并发工程。

系列阅读

  1. 共享变量为什么会出错:JMM、happens-before 与 volatile

    从电商报价计数与结果发布出发,用 Java 21 实验区分可见性、原子性和有序性,建立基于 happens-before 的并发推理方法。

  2. 从 CAS 到原子类:无锁更新的能力与代价

    用库存扣减和访问计数实验解释 CAS、ABA、原子引用与 LongAdder,区分原子更新、业务不变量和统计快照。

  3. 理解 synchronized:从互斥语义到 HotSpot 锁实现

    通过库存计数、实例锁与类锁实验理解 synchronized,再用固定环境的 JOL 结果解释对象头和 HotSpot 实现的版本边界。

  4. 线程如何等待与退出:中断、Condition 与 LockSupport

    从可取消的报价任务出发,解释中断标记、条件等待和 park/unpark 许可,用有截止时间的实验验证协作式退出。

  5. 沿着 ReentrantLock 读懂 AQS:获取、排队与唤醒

    以 OpenJDK 21 为固定源码基线,沿 ReentrantLock 的获取与释放路径理解 AQS,并用排队、中断与超时实验验证使用边界。

  6. ThreadLocal 在线程池中的边界:上下文、串值与清理

    在单线程池中稳定复现请求上下文残留,解释 ThreadLocal 的引用关系、异常清理和跨线程传播,并区分串值与内存滞留。

  7. CompletableFuture 实战:并行聚合、异常与超时

    以多商家比价为例构建 CompletableFuture 任务图,验证结果组合、异常降级、超时与取消,明确完成状态和底层任务生命周期的区别。