深入理解AQS:Java并发的基石
系统性剖析 AbstractQueuedSynchronizer(AQS)的设计思想、核心数据结构、加锁解锁流程,并通过 ReentrantLock 源码深入理解其工作原理,最后梳理 AQS 在 JUC 中的典型应用场景。
系统性剖析 AbstractQueuedSynchronizer(AQS)的设计思想、核心数据结构、加锁解锁流程,并通过 ReentrantLock 源码深入理解其工作原理,最后梳理 AQS 在 JUC 中的典型应用场景。
事务的四个隔离级别不是教科书上的枯燥定义,而是对读写冲突这个核心矛盾的四种不同权衡。Read Uncommitted 用最小代价换最大并发,Serializable 用最大代价换绝对正确。中间两档的差异藏在锁持有多久和锁住什么范围的细节里。理解这些细节,才能看懂 InnoDB 的加锁行为,才能在死锁发生时快速定位根因。
索引不是加了就快的魔法,而是一套需要理解底层数据结构、遵循匹配规则、结合业务场景做判断的工程实践。从磁盘 I/O 的物理约束理解 B+Tree 的设计动机,从最左前缀匹配理解复合索引的使用规则,从 EXPLAIN 的输出理解优化器的真实决策——每一步都是在缩小扫描行数与实际需要行数之间的差距。
Redis 的快不是因为内存数据库四个字就能解释的,而是单线程模型、精心设计的数据结构、惰性过期策略和高效持久化机制共同作用的结果。从五种数据类型的内部编码理解选型依据,从 RDB 和 AOF 的写入管线理解持久化保障,从 Sentinel 的故障检测理解高可用设计——每一个工程决策都在性能、安全和复杂度之间寻找平衡点。
本文系统梳理分布式系统的核心问题与解决方案:从集中式到分布式的演进动机,CAP/BASE 理论的工程权衡,一致性模型的层次划分,到 2PC、3PC、TCC、Saga、本地消息表、事务消息等分布式事务方案的原理、流程与代码示例。适合希望建立分布式事务知识体系的工程师阅读。
Spring Boot 的启动流程、动态注册与热更新,本质上是同一个问题的三层回答:如何在不同时间窗口内修改容器状态?本文从源码级别剖析每个机制的设计决策与代价,帮助建立对 Spring 扩展体系的完整心智模型。
深入解析gRPC Java的两个核心工程问题:拦截器的双向调用链路与错误处理的两种模型。涵盖Client/Server拦截器的执行流程、io.grpc.Status与google.rpc.Status的设计差异,以及流式RPC的错误传递策略。
全面解析Java字节码增强技术体系,对比ASM、Javassist、cglib、ByteBuddy四大工具的定位与取舍,深入ByteBuddy的核心API——类创建、方法拦截、注解驱动委托,并结合Java Agent与cglib迁移等工程场景展开实战。
系统梳理Java I/O体系的演进脉络,从传统BIO的流式模型到NIO的缓冲区+通道+多路复用模型,深入分析Channel、Buffer、Selector的设计原理与协作机制,理解I/O模型变革背后的系统级思考。
从CPU缓存一致性协议到Java内存模型,从volatile的硬件级实现到Lock/Condition的协作机制,从JUC并发工具类到线程池的高级用法,系统构建Java并发编程的知识体系。
系统剖析JVM核心机制,从类加载的双亲委派模型到运行时内存布局,从PermGen到Metaspace的演进,再到七大垃圾收集器的设计原理与选型策略,构建完整的JVM知识体系。