Tag: tech
All the articles with the tag "tech".
-
ZipList连锁更新到listpack——Redis压缩列表的演进
ZipList 的连锁更新问题根因在于变长编码依赖前驱节点,listpack 通过自描述编码彻底根除这一设计缺陷。
-
Java线上排查——从top到Arthas的完整工具链
从 top 定位 CPU 到 Arthas trace 精准定位方法耗时,构建 Java 线上排查的五场景完整工具链。
-
synchronized锁升级机制
synchronized 根据竞争程度自动升级:无锁→偏向锁→轻量级锁→重量级锁,通过 Mark Word 编码锁状态实现无竞争零开销。
-
happens-before规则详解:JMM的8条核心约束
JMM 的 8 条 happens-before 规则定义了多线程下变量修改的可见性保证,是理解 volatile、锁、并发工具的前提。
-
Stream惰性求值——为什么中间操作不会立刻执行?
揭示 Stream 惰性求值机制——中间操作只构建 Pipeline 链表不执行,终止操作触发 Sink 链构建后每个元素一次性穿越所有中间操作,配合短路操作提前终止遍历。
-
Lambda的invokedynamic与匿名内部类
Lambda 通过 invokedynamic 运行时动态生成类,无捕获时为单例,与编译期生成.class 的匿名内部类本质不同
-
注解原理——@Override背后有一个动态代理
注解本质是继承 Annotation 的接口,运行时通过 JDK 动态代理将 class 文件属性表中的值映射为方法返回值。
-
Java泛型类型擦除——编译器为什么要生成桥接方法?
泛型擦除后多态调用断裂,编译器自动生成桥接方法作为 JVM 与泛型之间的翻译层修复方法签名不匹配。