Java
已收录文章:910篇
-
并行流不是把线程数调大就会变快。本文用同一批数据对比串行流与并行流,解释 ForkJoinPool.commonPool 的参与方式、任务粒度、共享资源和压测边界,帮助你在真实服务里做出可复核的选择。378 收藏
-
文章 · java教程 | 1个月前 | Java · 正则表达式 · 性能 · Stream · predicate Java教程 Java Pattern.asMatchPredicate Java正则 Stream过滤Pattern.asMatchPredicate 能把已编译正则直接变成 Predicate,适合复用在 Stream.filter 和输入校验中。本文拆开 matches 的完整匹配语义、find 的差异与重复编译成本。464 收藏
-
文章 · java教程 | 1个月前 | Java · 并发编程 · CompletableFuture · java completablefuture exceptionallyCompose 异步恢复 超时回退用 CompletableFuture.exceptionallyCompose 把异步降级接回原链路,区分业务异常、超时和回退失败,配合 orTimeout 完成可验收的恢复流程。336 收藏
-
用 Java NIO 的 Files.mismatch 比对两个文件,理解返回首个差异位置、-1 结果、长度差异和异常处理,避免把相同文件与前缀相同文件混为一谈。293 收藏
-
Java 24 把 Stream Gatherers 作为正式 API,用一个订单事件流示例拆开 windowFixed、短路和自定义 Gatherer 的边界,帮助你判断何时用 gather,何时继续用 collect。397 收藏
-
Java Files.walk 返回的是惰性 Stream,遍历大目录时要同时处理流关闭、符号链接深度和中途异常。本文用一个目录清理场景说明 Files.walk 与 walkFileTree 的选择边界,并给出可验证的安全写法。243 收藏
-
文章 · java教程 | 1个月前 | Java · 线程池 · 异步编程 · CompletableFuture · 线程池 Java CompletableFuture 异步超时 orTimeout completeOnTimeoutJava CompletableFuture 的 orTimeout 会让原任务以 TimeoutException 失败,completeOnTimeout 则把超时转换为备用结果。本文从订单查询的超时现场出发,拆开两种语义、异常回收与线程池验收边界。200 收藏
-
Java 16 起 Stream.toList() 进入生态,但迁移到 Java 21 时要处理空结果、并行行为和序列化返回类型差异,避免线上行为回归。473 收藏
-
Java 21 的 Pattern.splitWithDelimiters 可以在切分字符串时同时保留匹配到的分隔符。本文用配置行和日志片段说明 limit、空字段、尾部分隔及 Java 17 兼容回退。366 收藏
-
用一个可运行的小例子拆开 Java Map.computeIfAbsent 的 null 语义、递归更新限制和 ConcurrentHashMap 并发边界,避免把缓存未命中误判成已写入。462 收藏
-
Java java.time.Duration.dividedBy 可以把耗时切成固定时间片,但整数除法、零值除数和超大纳秒数都可能改变结果。本文用限流窗口和任务分片示例说明返回值、异常边界与测试验收。245 收藏
-
Java record 的 compact constructor 适合把开始时间早于结束时间、状态与时间范围匹配等跨字段规则集中校验。本文用预约时间段说明校验顺序、异常类型与测试验收边界。315 收藏