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

详细NPE消息真实验证:不加-g编译,字段名真实变成看不懂的local1

真实验证JEP358详细NullPointerException消息在JDK17默认开启,真实精确指出是哪个字段/数组元素/方法参数为null;但真实用默认javac编译(不带-g)时,变量名真实全部变成<local1>占位符,加-g重新编译后才真实显示出真正的源码变量名。

Java 异常 JEP358 动画演示
MongoDB 2026-09-08

读写一致性:写进去了,为什么读不到

真实冻结两个从节点的 oplog 应用,写入后对比 readConcern local/majority 的可见性差异,并触发一次真实的 writeConcern 超时,对照 MongoDB 真实源码解释多数派提交点机制。

readConcern writeConcern 动画演示
Java 内部原理 2026-09-08

String.format() 真实受Locale影响:同一段代码,德国和美国的机器真实打印不同结果

真实验证String.format("%,.2f", val)不传Locale时使用JVM默认Locale,真实对比US、GERMANY、FRANCE三种结果完全不同;真实验证德国格式化出的字符串直接用Double.parseDouble解析真实抛出NumberFormatException。

Java String Locale 动画演示
MongoDB 2026-09-07

副本集选举:谁能当主节点,谁说了算

本机真实跑起 3 节点副本集,亲眼见证两次真实选举(超时触发与 stepDown 触发),对照 MongoDB 真实源码解释 dry run、投票拒绝规则与当选后的 catch-up 阶段。

副本集 选举 动画演示
Java 内部原理 2026-09-07

HashMap并发扩容真实验证:8线程并发put,真实丢了将近1/3的数据

真实用8线程并发向同一个普通HashMap put 4万条不重叠key,5轮独立测试真实size均低于期望值40000,且全程真实没有抛出任何异常;对照组单线程顺序put真实size精确等于40000。

Java HashMap 并发 动画演示
MongoDB 2026-09-06

oplog:副本集是怎么把一次写入传播出去的

本机单节点副本集上真实抓取 insert/update/delete 的 oplog 记录,把同一条 update 记录用 applyOps 重放两遍验证幂等性,对照 MongoDB 真实源码逐条确认。

oplog 副本集 动画演示
Java 内部原理 2026-09-06

装箱缓存真实验证:Byte/Short/Long/Character缓存范围各不相同

真实验证Byte全范围(-128~127)缓存、Short/Long和Integer一样只缓存-128~127、Character只缓存0~127、Boolean只有两个值全缓存、Double/Float完全不缓存;真实反射读取各自缓存数组长度佐证。

Java 自动装箱 JVM 动画演示
MongoDB 2026-09-05

聚合管道:一条 pipeline 是怎么被拆开执行的

真实 explain() 揭示聚合管道如何被重排、合并、下推到查询层,加上真实触发的 $push 100MB 内存上限崩溃,逐条对照 MongoDB 查询优化器真实源码。

聚合管道 explain 动画演示
Java 内部原理 2026-09-05

Arrays.sort() 真实验证:小于44个元素真实切换成插入排序,不走双轴快排

真实反射读取JDK17内部DualPivotQuicksort.MAX_INSERTION_SORT_SIZE=44,真实验证Arrays.sort(int[])对小数组切换成插入排序、大数组走双轴快速排序;真实实测近乎有序的5万元素数组排序耗时远低于完全随机数组。

Java 排序算法 性能 动画演示
MongoDB 2026-09-04

索引优化:为什么这个查询没走索引

本机 5000 篇真实文档,建索引前后对照真实 explain() 数字,逐条验证复合索引前缀规则、覆盖查询、排序优化——每条规则都对应查询规划器源码里一个具体函数。

索引 explain 动画演示
Java 内部原理 2026-09-04

PriorityQueue 真实验证:toArray()和iterator()真实不是有序的,只有poll()才是

真实验证PriorityQueue内部只维护堆序(父节点<=子节点),不维护全序;真实插入10个乱序整数后,toArray()和iterator()遍历真实拿到的是内部数组的堆结构顺序,不是排序结果;只有反复poll()才能真实按顺序依次弹出。

Java 集合框架 PriorityQueue 动画演示
MongoDB 2026-09-03

WiredTiger 存储引擎:谁在什么时候看到哪个版本

本机把 mongod 改成单节点副本集,跑真实并发实验验证 MVCC 快照隔离,对照 WiredTiger 源码讲 B-tree 页结构和 mongod 自己的周期 checkpoint 线程。

MVCC B-tree 动画演示
京ICP备2026067502号-1京公网安备11010502063487号