Posts
All the articles I've posted.
-
AQS 与 Lock 家族:ReentrantLock、读写锁与 Condition
AQS 深度剖析:基于 state 与 CLH 变体等待队列的模板方法,支持独占与共享两种模式,串联起 ReentrantLock、读写锁、Condition 等核心组件,并对比 synchronized 的取舍,手把手带你彻底掌握 JUC 同步器底层原理与高并发场景下的正确使用姿势。
-
synchronized 与锁升级:对象头、Monitor 与偏向、轻量、重量级锁
打破对 synchronized 的重量级刻板印象!本文从对象头 Mark Word 切入,深度剖析锁升级底层机制,详细推演偏向锁、轻量级锁到重量级锁的单向不可逆路径。结合 JIT 锁消除与锁粗化优化,带你彻底搞懂内置锁的状态流转逻辑,从而在实际高并发架构中,明确何时该用 synchronized,何时必须替换为 ReentrantLock 显式锁。
-
JMM 与可见性:volatile、happens-before 规则与指令重排序
并发正确性的地基:从可见性、有序性、原子性三大核心问题出发,深度拆解 JMM 抽象模型、指令重排序机制、内存屏障与 happens-before 规则的底层流转逻辑。结合高并发业务排障场景,带你彻底讲透 volatile 关键字的可见性与有序性语义及其适用边界,并剖析 double-check 单例失效等经典并发踩坑案例,为后续深入 AQS 源码打牢基础。
-
Grafana JVM 监控分析:从指标采集到看板解读的实战指南
JVM 系列全 6 篇之实战续作:用 Micrometer/JMX Exporter、Prometheus、Grafana、Alertmanager 搭建监控链路,深度解读 4701 看板的 Heap 锯齿、老年代、GC 停顿与告警水位。
-
JVM 深入(四):JDK 核心版本演进 —— 从 8 到 25 的 LTS 变迁
本文是 JVM 系列的第 4 篇(全系列共 6 篇),以 LTS 版本为主线,系统梳理从 JDK 8 到 25 的核心演进。文章详细对比了 PermGen 到 Metaspace 的底层变迁、G1 成为默认 GC 与 CMS 的退出,并解析了模块化、Records 与模式匹配等重要语言特性。此外,我们重点探讨了 JDK 21 引入的虚拟线程及其 Pinning 机制的改善,并结合运行时默认值的变化,为你提供一份务实且避坑的生产环境 JDK 升级与选型指南。