Tag: JUC
All the articles with the tag "JUC".
-
volatile的内存屏障——为什么DCL必须volatile
volatile 通过内存屏障保证可见性与有序性,禁止指令重排序是 DCL 安全实现的关键,深入理解 StoreLoad 等四大屏障。
-
Unsafe类——JUC所有无锁结构的原子操作基石
Unsafe 提供 CAS 原子操作、内存屏障和直接内存访问三类底层能力,是 JUC 所有无锁并发结构的基石。
-
TransmittableThreadLocal:跨线程池的上下文传递
阿里巴巴 TTL 通过装饰任务实现线程池场景下的上下文无损传递,解决 ThreadLocal 和 InheritableThreadLocal 的线程复用污染问题。
-
ThreadLocal内存泄漏的完整链路
ThreadLocal 的弱引用 key 被 GC 回收后 value 仍无法释放,详解内存泄漏完整链路及 get/set/remove 的过期清理机制。
-
ScheduledThreadPoolExecutor:定时任务调度的正确打开方式
分析 Timer 单线程设计的三个致命缺陷,对比 ScheduledThreadPoolExecutor 基于 DelayedWorkQueue 最小堆的多线程调度架构,以及 fixed-rate 与 fixed-delay 两种模式的核心区别。
-
MDC的ThreadLocal泄漏与ScopedValue
MDC 底层双 ThreadLocal 缓存设计原理,虚拟线程下 ThreadLocal 强引用 Value 导致泄漏,ScopedValue 作用域绑定自动释放
-
LongAdder vs AtomicLong——高并发下的Cell分槽与伪共享
LongAdder 通过 Cell 数组分槽降低 CAS 竞争,@Contended 消除伪共享保证分槽独立性,以 sum()最终一致性换高并发写入性能
-
Java线程池——execute()为什么入队后要做二次检查?
线程池 execute()入队后二次检查:防无线程消费队列与 shutdown 时任务悬空,保证竞态场景下任务语义一致