知其然,知其所以然
Java 内部原理 2026-09-03

String代理对真实验证:substring()真实能把一个emoji从中间切断,留下无法显示的半个字符

真实验证一个emoji字符串的length()真实是2不是1,因为超出基本多语言平面的字符真实需要用高低两个代理项char表示;真实用substring(0,2)把包含emoji的字符串从代理对中间真实切断,留下一个无法单独显示的孤立高代理项字符;真实验证codePoints()和offsetByCodePoints()是正确处理方式。

Java String Unicode 动画演示
MongoDB 2026-09-02

MongoDB 整体架构:mongod 自己不管数据怎么存

本机真实 MongoDB 8.3.7 实测:插入数据后直接检查磁盘上的 WiredTiger 文件,对照真实源码追踪一条 insert 命令怎样分层落到存储引擎。

架构 WiredTiger 动画演示
Kubernetes 2026-09-02

K8s 控制平面:谁也不直接找谁

真实源码追踪一个 Pod 从 kubectl apply 到 Running 的完整链路:reflector 的 List-Watch、kubelet 的字段选择器、scheduler 的客户端过滤与 Binding 写回。

控制平面 List-Watch 动画演示
Java 内部原理 2026-09-02

wait(timeout) 真实验证:超时和被唤醒是两回事,返回值本身不携带这个信息

真实验证wait(300)在没有被notify的情况下真实耗时约300ms后自动返回;真实验证wait(2000)但100ms后被真实notify(),真实耗时约100ms就提前返回;真实验证wait(0)真实等价于无限等待;真实验证wait()返回值本身不携带是超时还是被唤醒的信息。

Java 并发 wait/notify 动画演示
Redis 2026-09-01

分布式锁的 watchdog

本机真实实测 watchdog 续期机制:没有续期会双持锁、PEXPIRE 是重置不是叠加、崩溃自愈、迟到续期为何不破坏新主人的锁,以及续期解决不了的残留风险。

分布式锁 Lua脚本 动画演示
Java 内部原理 2026-09-01

Array.newInstance() 真实验证:反射创建的数组和普通数组真实是同一种运行时类型

真实验证java.lang.reflect.Array.newInstance()能在运行时才知道元素类型的场景下动态创建数组,这真实是泛型方法内部无法直接写new T[size]时的标准绕过方式;真实验证反射创建的数组和用new关键字创建的数组,getClass()真实返回完全相同的Class对象。

Java 反射 数组 动画演示
Java 内部原理 2026-08-31

Object默认hashCode()真实验证:多次GC后真实保持不变,证明它不是内存地址

真实验证Object默认的hashCode()和System.identityHashCode()真实精确相等;真实触发5轮System.gc()后,同一个对象的hashCode()真实保持完全不变,证明identity hashCode不是内存地址本身;真实验证重写了hashCode()的类,System.identityHashCode()依然真实返回原始的identity值。

Java hashCode GC 动画演示
Java 内部原理 2026-08-30

Collections.synchronizedList() 真实验证:不手动加锁遍历,真实依然会ConcurrentModificationException

真实验证Collections.synchronizedList()真实能保护单个方法调用不出现数据竞争,10线程并发添加10万次真实精确得到10万;真实对照普通ArrayList同样的并发场景,真实产生了数据丢失但完全没有抛出任何异常;真实验证遍历synchronizedList如果不手动加synchronized块,真实多次触发ConcurrentModificationException。

Java 并发 集合 动画演示
Java 内部原理 2026-08-29

String.repeat() 真实验证:负数参数真实抛异常,性能真实比手动拼接快数倍

真实验证String.repeat(0)真实返回空字符串而不是null,repeat(-1)真实抛出IllegalArgumentException;真实用-Xmx256m限制堆内存,验证逼近Integer.MAX_VALUE的极端repeat次数真实触发OutOfMemoryError;真实测出100万次单字符repeat()耗时2ms,手动StringBuilder循环耗时11ms。

Java String 性能 动画演示
Redis 2026-08-28

SDS:Redis 自己的字符串

embstr/raw 编码分界与预分配增长策略的真实源码验证。

数据结构 内存 动画演示
Redis 2026-08-28

Hash 和 ZSet 什么时候换编码

listpack 到 hashtable/skiplist 的真实转换阈值实测。

数据结构 编码转换 动画演示
Redis 2026-08-28

Redis 一个线程,怎么同时管几万个连接

kqueue/epoll 等多路复用后端与真实 Redis 事件循环。

I/O多路复用 事件循环 动画演示
京ICP备2026067502号-1京公网安备11010502063487号