CS Basic2020-10-161561 字4 分钟TreeMap 与红黑树:从原理到 CRUD,再到源码解析 TreeMap 的红黑树实现:5 条规则保证树高 O(log n),CRUD 操作映射到插入修复(叔红变色上推,叔黑旋转变色)与删除修复,最后对齐 OpenJDK 源码中的 fixAfterInsertion/deleteEntry 关键逻辑。 Data Structure Javamore...
CS Basic2020-10-151555 字4 分钟HashMap 源码解析(JDK 1.7):数组 + 链表底层结构与 put/get/remove 流程深入剖析 JDK 1.7 HashMap 核心机制:Entry[] 桶数组 + 链表存储结构、hash 冲突链式解决方案、扩容阈值计算(capacity × loadFactor)及 put/get/remove 完整执行路径;对比 Hashtable 线程安全差异,解读 JDK 1.8 红黑树优化如何将最坏查找复杂度从 O(n) 降至 O(log n)。 Data Structure Javamore...
CS Basic2019-05-043572 字9 分钟Spring AOP 与 IoC 核心原理:从动态代理到手写迷你容器本文从零拆解 Spring 两大核心机制——AOP(面向切面编程)与 IoC(控制反转)。通过餐厅、租房等生活类比讲透核心概念,手把手演示静态代理 → JDK 动态代理 → CGLIB 代理的演进路径,并亲手模拟一个迷你版 Spring AOP 和 IoC 容器。附 JDK 代理 vs CGLIB、AOP vs 拦截器对比表,帮你彻底搞懂 Spring 底层的反射 + 代理 + 设计模式组合拳。 Javamore...
CS Basic2018-12-303581 字9 分钟22 条可维护性规则与权重排名本文系统梳理了 22 条代码可维护性规则,按权重(4~32)从高到低排列,涵盖函数级(圈复杂度、调用栈深度、函数体积)、类与模块级(上帝类、数据类、紊乱类)、依赖耦合(循环依赖、不稳定依赖)、继承抽象(稳定抽象原则、继承层次)及其他代码异味(重复代码、消息链、散弹式修改)五大分类,并给出每条规则的识别方法与优化建议。 Javamore...