-
Java 9 起可以用 Matcher.replaceAll(Function) 按每次匹配的捕获组动态生成替换文本。本文说明从固定字符串迁移的写法、null 与空字符串边界、特殊字符转义和 Matcher 状态注意事项。
-
Java Map.copyOf 可以把现有 Map 固定为拒绝 null、不能修改且不随源 Map 后续变化的不可变映射快照。本文对比只读视图,说明 null、浅复制和迭代顺序边界,并给出迁移取舍。
-
Java Files.getLastModifiedTime 默认会按目标对象读取符号链接的时间;要读取链接目录项自身,应传入 LinkOption.NOFOLLOW_LINKS。本文结合一次文件时间排查,说明两种语义、异常边界和封装方式。
-
Java Virtual Threads 适合以每任务线程承接等待型工作,而非建立固定虚拟工作池。本文用有限批次与提交窗口说明准入控制,结合完成队列、Future 取消、客户端超时和执行器关闭,明确依赖容量与收尾边界。
-
Java ModuleLayer 的隔离边界由 Configuration 可读图、父层关系、模块 exports/opens 和类加载器映射共同决定。本文用动态插件示例说明 OneLoader、ManyLoaders 与跨层接口设计。
-
Java Optional.or 使用 Supplier 延迟构造备用 Optional,适合缓存回源、分层配置和多级查找。本文说明惰性执行、or 与 orElseGet 的返回差异,以及 null 和空结果边界。
-
Java Pattern 命名捕获组通过字段名称取值,配合非捕获组减少对数字组号的依赖。结合文件名解析示例,说明可选字段、匹配状态、错误分类和规则变更时的字段契约。
-
Files.mismatch 返回的是两个文件首个不一致字节的 0 起始偏移;完全一致返回 -1L,较短文件是相同前缀时返回较短文件的字节数。本文用 Java 示例说明大文件比较时如何正确解释这个 long 值。
-
Java Spliterator.trySplit 会返回覆盖部分剩余元素的子 Spliterator,同时缩小当前对象的覆盖范围。本文用批次阈值说明 trySplit、estimateSize、ORDERED 与 SUBSIZED 的关系,并处理返回 null 和线程归属边界。
-
BigDecimal 去除尾随零后,toString 可能按规范使用科学计数法。本文说明 stripTrailingZeros、scale、toPlainString 和 setScale 的边界,帮助 Java 开发者稳定输出可读十进制文本。
-
Java Stream gatherer 的关键不只是回调数量,而是中间状态、下游短路和并行合并的边界。本文用固定窗口与无状态映射说明 initializer、integrator、finisher、Downstream.push 和 combiner 的职责。
-
Java Formatter 可以用 1$、2$ 等显式位置参数复用并重排同一个值,也可以用 < 复用前一个格式说明符的参数。本文对比三种索引方式、异常边界和可维护写法。
-
Java record 紧凑构造器应校验和规范化参数,正常结束后再隐式赋值组件字段。本文结合字符串与列表实例,说明局部不变量、集合复制和外部业务检查的职责。
-
Java 21 的 switch pattern matching 不会让类型模式自动匹配 null。本文用独立 case null 与 case null, default 对比说明空引用、类型模式、default 和穷举规则的边界,帮助你为可能为空的 selector 选择清晰的分支设计。
-
Java String.translateEscapes 可以把运行时字符串中的换行、制表、引号、反斜杠和八进制转义还原为字符。本文区分源码与运行时文本,说明 Unicode 转义边界、非法转义异常,以及它与 JSON 或正则反转义的区别。