Java
已收录文章:34篇
-
文章 · java教程 | 2个月前 | 消息队列 · Java · 事务 · 架构设计 · Spring Boot · spring boot 最终一致性 事务消息表 Outbox Pattern 订单通知订单状态写入数据库后再发送通知,最容易出现数据库成功而消息丢失的窗口。本文用 Spring Boot 和 outbox_event 表,把业务写入与待发送事件放进同一个事务,再用独立发送器处理重试、幂等和失败回退。498 收藏
-
Java 16 起 Stream.toList() 进入生态,但迁移到 Java 21 时要处理空结果、并行行为和序列化返回类型差异,避免线上行为回归。473 收藏
-
文章 · java教程 | 1个月前 | Java · 正则表达式 · 性能 · Stream · predicate Java教程 Java Pattern.asMatchPredicate Java正则 Stream过滤Pattern.asMatchPredicate 能把已编译正则直接变成 Predicate,适合复用在 Stream.filter 和输入校验中。本文拆开 matches 的完整匹配语义、find 的差异与重复编译成本。464 收藏
-
用一个可运行的小例子拆开 Java Map.computeIfAbsent 的 null 语义、递归更新限制和 ConcurrentHashMap 并发边界,避免把缓存未命中误判成已写入。462 收藏
-
Java 项目本地构建通过、CI 却失败,往往不是代码突然变坏,而是 JDK、Maven 依赖缓存和质量检查没有被流水线固定。本文用一个订单服务的构建场景,拆开版本矩阵、依赖缓存、测试门禁和失败通知的配置边界。434 收藏
-
用 DateTimeFormatter 和 ResolverStyle.STRICT 解析 Java 日期,区分格式、时区、无效日期与时间字段,给出可运行的验收代码和常见边界。426 收藏
-
Java 8 应用升级到 Java 21,真正容易卡住的不是语法,而是 JAXB 缺失、强封装反射和默认字符集变化。本文用一套可复用的检查顺序,把编译、启动和回归验证串起来。425 收藏
-
用 Java NIO 扫描配置目录时,PathMatcher 的 glob 规则要和 Path 的相对层级保持一致。本文用 Files.walk、PathMatcher 和小型验收程序说明通配符、路径归一化、空匹配及资源关闭边界。403 收藏
-
Java 24 把 Stream Gatherers 作为正式 API,用一个订单事件流示例拆开 windowFixed、短路和自定义 Gatherer 的边界,帮助你判断何时用 gather,何时继续用 collect。397 收藏
-
Java 25 把紧凑对象头从实验能力变成产品能力,但它不是所有服务都应立即打开的开关。本文用对象数量、堆占用、GC 次数和锁竞争四个观察点,说明它节省了什么、可能影响什么,以及如何在生产环境做小范围验证。394 收藏
-
Java 22 的 String Templates 仍属于预览特性,适合用来理解模板处理器、表达式插值和输入校验边界。本文用账单通知示例拆解 STR、转义、异常处理与生产环境的兼容判断。388 收藏
-
并行流不是把线程数调大就会变快。本文用同一批数据对比串行流与并行流,解释 ForkJoinPool.commonPool 的参与方式、任务粒度、共享资源和压测边界,帮助你在真实服务里做出可复核的选择。378 收藏