7 篇公开文章
Java 并发工程
从共享变量、原子更新与锁,到线程协作、上下文和异步任务,用七篇文章与 Java 21 最小实验理解并发工程。
系列阅读
- 共享变量为什么会出错:JMM、happens-before 与 volatile
从电商报价计数与结果发布出发,用 Java 21 实验区分可见性、原子性和有序性,建立基于 happens-before 的并发推理方法。
- 从 CAS 到原子类:无锁更新的能力与代价
用库存扣减和访问计数实验解释 CAS、ABA、原子引用与 LongAdder,区分原子更新、业务不变量和统计快照。
- 理解 synchronized:从互斥语义到 HotSpot 锁实现
通过库存计数、实例锁与类锁实验理解 synchronized,再用固定环境的 JOL 结果解释对象头和 HotSpot 实现的版本边界。
- 线程如何等待与退出:中断、Condition 与 LockSupport
从可取消的报价任务出发,解释中断标记、条件等待和 park/unpark 许可,用有截止时间的实验验证协作式退出。
- 沿着 ReentrantLock 读懂 AQS:获取、排队与唤醒
以 OpenJDK 21 为固定源码基线,沿 ReentrantLock 的获取与释放路径理解 AQS,并用排队、中断与超时实验验证使用边界。
- ThreadLocal 在线程池中的边界:上下文、串值与清理
在单线程池中稳定复现请求上下文残留,解释 ThreadLocal 的引用关系、异常清理和跨线程传播,并区分串值与内存滞留。
- CompletableFuture 实战:并行聚合、异常与超时
以多商家比价为例构建 CompletableFuture 任务图,验证结果组合、异常降级、超时与取消,明确完成状态和底层任务生命周期的区别。