Java 核心技术:深入理解 AQS
系统性剖析 AbstractQueuedSynchronizer(AQS)的设计思想、核心数据结构、加锁解锁流程,并通过 ReentrantLock 源码深入理解其工作原理,最后梳理 AQS 在 JUC 中的典型应用场景。
系统性剖析 AbstractQueuedSynchronizer(AQS)的设计思想、核心数据结构、加锁解锁流程,并通过 ReentrantLock 源码深入理解其工作原理,最后梳理 AQS 在 JUC 中的典型应用场景。
以 MySQL 8.0 InnoDB 为范围,从快照建立时机、锁定读和条件更新出发,解释隔离级别、记录锁与间隙锁的协作,说明如何还原死锁等待环,并保持分页优化和事务恢复的业务语义。
索引不是加了就快的魔法,而是一套需要理解底层数据结构、遵循匹配规则、结合业务场景做判断的工程实践。从磁盘 I/O 的物理约束理解 B+Tree 的设计动机,从最左前缀匹配理解复合索引的使用规则,从 EXPLAIN 的输出理解优化器的真实决策——每一步都是在缩小扫描行数与实际需要行数之间的差距。
Redis 的快不是因为内存数据库四个字就能解释的,而是单线程模型、精心设计的数据结构、惰性过期策略和高效持久化机制共同作用的结果。从五种数据类型的内部编码理解选型依据,从 RDB 和 AOF 的写入管线理解持久化保障,从 Sentinel 的故障检测理解高可用设计——每一个工程决策都在性能、安全和复杂度之间寻找平衡点。
库存已扣减,支付却超时:跨服务流程首先要处理的是结果未知。本文以电商下单为例,比较 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核心机制,从类加载的双亲委派模型到运行时内存布局,区分历史实现与现代版本,解释垃圾回收、停顿与资源使用的关系,形成可验证的调优思路。