真实用8线程各调用500万次nextInt(),共享一个Random实例真实耗时7935ms,改用ThreadLocalRandom.current()真实只要43ms,真实快184.53倍;真实验证同一线程内两次ThreadLocalRandom.current()调用返回同一个实例,不同线程各自拿到独立、不需要竞争的随机数生成器。
本机真实 Go 1.26.6 + gin-gonic/gin v1.12.0 程序验证洋葱模型的进入/退出顺序、Abort() 的真实语义、用 unsafe.Pointer 探测 c.index 的完整轨迹、63 个 handler 的硬性上限,以及 RouterGroup 中间件继承机制,对照真实源码。
真实验证Arrays.fill(int[][] arr2d, int[] sharedRow)这个合法调用真实把每一行都指向同一个数组对象,不是三个独立副本;真实修改arr2d[0][0]后,其余两行真实一起被改变;真实对比正确写法(for循环对每行单独调用Arrays.fill)才能得到三个真正独立的行数组。
本机真实拉取 gin-gonic/gin v1.12.0,用 unsafe.Pointer + 反射挖出未导出的路由树结构,验证路径压缩、参数冲突 panic、priority 优先级重排,并实测查找耗时跟路由总数无关,对照真实源码。
本机真实实测 as_view() 每次请求都新建一个实例、参数校验发生在注册阶段而不是请求阶段、dispatch() 靠 getattr 反射分派方法且未定义的方法真实走 405、get 没定义 head 会自动复用、混用同步异步 handler 真实报错,以及装饰器加在 dispatch 上属性会被复制到最外层函数。
真实复现类C实现两个互不相关的接口A和B、都定义了同名默认方法greet()却不覆盖时,javac真实拒绝编译并报错;真实验证用A.super.greet()语法可以显式调用指定接口的默认实现;真实验证接口存在真实父子关系时,更具体的子接口默认方法会自动胜出。
本机真实实测 on_commit() 在没有事务时会立刻执行、嵌套 atomic() 用 savepoint 隔离回滚、内层回滚会让注册在其中的 on_commit 回调被直接丢弃,以及用 bigywater 项目自己的 Post 模型证明 post_save 信号在事务提交前就已经真实执行,回滚后数据库记录消失但信号写的文件还留在磁盘上。
真实用 SQLite + 多线程复现乐观锁的完整对照:裸读改写在并发下真实丢失 180/200 次更新;加了 version 校验但不重试,79 次成功、121 次被安静放弃;完整重试循环(重新读+重新算+重新写)真实做到 200/200 分毫不差,平均重试 3.04 次;拿着旧版本号硬撞的错误重试,真实卡死 82 次永远失败。
真实验证Parent p = new Child()时,p.label(静态字段)和p.instanceLabel(实例字段)真实都按引用的声明类型Parent决定;真实验证同样的p.describe()方法调用却真实按对象的运行时类型Child决定,证明Java字段访问不支持多态,只有方法调用才支持。
本机真实实测 Django Form 校验是收集所有字段错误而不是遇到第一个就停、一个字段身上多个 validator 的失败会被一次性收集、Form.clean() 里直接用下标取 cleaned_data 会真实抛 KeyError,以及 errors 惰性缓存的真实行为。
真实验证Java的int[3][4]类型真实是[[I(数组的数组),不是C语言那种连续内存块;真实验证每一行都是独立的数组对象,可以整体替换成不同长度的新数组;真实计算1000x1000的二维数组真实创建了1001个独立数组对象,而等效的一维数组只创建1个。
本机真实实测 makemigrations 从不查真实数据库、非交互模式下字段改名被当成删+加直接放弃、跨 app 迁移依赖图决定真实执行顺序、SQLite 加字段是否走快速 ALTER TABLE 与 --fake 的真实效果。