java教程技术文章
-
Files.lines 返回的是带文件资源的 Stream。本文用可运行示例说明 try-with-resources 的关闭边界、异常路径和大文件读取时的验收方法,避免句柄长期占用。499 收藏 -
Java Stream 里的 filter、map 等中间操作不会立刻执行,只有终止操作真正消费流时,链上的日志和断点才会出现。本文从一段看似没有输出的代码开始,拆开惰性求值的触发边界、短路终止操作和流只能消费一次的限制,并给出可复查的调试写法。288 收藏 -
文章 · java教程 | 6天前 | Java · 序列化 · 反序列化 · jdk · 安全编程 · java ObjectInputStream ObjectInputFilter 反序列化过滤 序列化安全
Java 反序列化过滤不应只写一条拒绝规则,还要同时限制允许的类型、对象图深度、引用数量和输入字节数。本文用 ObjectInputFilter 说明白名单、边界值与异常验收。317 收藏 -
用 DateTimeFormatter 和 ResolverStyle.STRICT 解析 Java 日期,区分格式、时区、无效日期与时间字段,给出可运行的验收代码和常见边界。426 收藏 -
线程池满载或进入关闭流程时,任务拒绝不应该只变成一条模糊异常。本文从一个有限队列的订单异步任务池出发,拆解拒绝处理器的错误语义、四种内置策略与调用方重试边界,并给出可验收的 Java 示例。484 收藏 -
Java 22 的 String Templates 仍属于预览特性,适合用来理解模板处理器、表达式插值和输入校验边界。本文用账单通知示例拆解 STR、转义、异常处理与生产环境的兼容判断。388 收藏 -
批量导入时,HashMap 的扩容可能把本来平滑的写入变成一段明显停顿。本文从容量计算、阈值变化和并发边界三个方面还原问题,并给出可验证的初始化与替代方案。156 收藏 -
Java Files.readString 读取 UTF-8 配置时出现乱码或首字符异常,通常不是文件内容损坏,而是字符集与 UTF-8 BOM 的边界没有处理好。本文用最小示例区分默认字符集、显式 UTF-8 和 BOM 清理方案。257 收藏 -
解释 Java record 作为 HashMap 键时查询失败的原因,覆盖 equals、hashCode、一致性约束、可变字段与嵌套对象的排查方法。449 收藏 -
解释 Java record 作为 HashMap 键时查询失败的原因,覆盖 equals、hashCode、一致性约束、可变字段与嵌套对象的排查方法。496 收藏 -
Java 正则中的命名捕获组可以让 group 方法按字段名取值,但名称规则、重复匹配、未参与匹配和空字符串容易混淆。本文用日志字段提取示例说明写法、边界和验收方式。361 收藏 -
文章 · java教程 | 1星期前 | 故障排查 · Java教程 · 进程管理 · ProcessHandle · 系统编程 · java 子进程 退出码 ProcessHandle 进程生命周期
Java 管理外部子进程时,isAlive、onExit 和 exitValue 解决的是不同问题。本文用一个可复现的小任务拆解退出状态、异步等待、异常处理与句柄回收边界。249 收藏 -
文章 · java教程 | 1星期前 | 性能优化 · 集合 · Stream · Java教程 · Collectors · java 内存 性能 Stream Collectors.groupingBy 分组统计
Java Stream 做分组统计时,先收集再多次遍历容易放大内存和 CPU 成本。本文用订单状态统计说明 groupingBy、groupingBy+下游收集器与并行流的边界,并给出可复查的基准与选择方法。260 收藏 -
用 Java 25 的 jdk.incubator.vector.FloatVector 改写批量 float 计算,讲清 preferred species、lane 宽度、尾部掩码、模块参数和标量回退的验收方法。211 收藏 -
Java 批量校验邮箱、手机号等字段时,反复编译 Pattern 和把 Matcher 跨线程复用,都会让接口延迟抬头。本文从 Pattern、Matcher 的职责边界出发,对比错误写法与复用写法,再用 JMH 风格基准和业务验收检查性能收益。102 收藏