java教程技术文章
-
需要把一组标签、路径或查询条件拼成带分隔符的文本时,StringJoiner 比手动判断首尾逗号更稳。本文从空集合、前后缀、嵌套拼接和 Stream 收集几个边界出发,给出可直接运行的 Java 示例与验收方法。290 收藏 -
Jackson 反序列化日期失败,往往不是 JSON 字段不存在,而是输入格式、时区和字段级格式化配置没有对齐。本文从报错现场出发,用 LocalDateTime、Instant 和 OffsetDateTime 三种类型拆开定位路径,并给出可验证的修复方案。256 收藏 -
文章 · java教程 | 3星期前 | 依赖管理 · Java · JVM · 故障排查 · java 类加载器 ClassNotFoundException NoClassDefFoundError 依赖排查
代码在编译阶段明明能找到类,部署后却抛出 NoClassDefFoundError,通常不是类名写错,而是运行时类路径、传递依赖或初始化阶段出了差异。本文用一个可复现的启动故障,拆开编译期可见、运行期加载和初始化失败三个边界,给出定位与修复检查单。269 收藏 -
Java HttpClient 的 CookieHandler 既能复用会话,也可能让不同账号的请求串 Cookie。本文从共享客户端、并发访问和任务结束三个边界,给出隔离、清理与验证方法。241 收藏 -
Files.readString 适合小型文本读取,却会把整个文件和解码后的字符串同时带进堆。本文用内存预算、newBufferedReader 分块读取和 lines 流关闭三个检查点,说明大文件读取该如何选型。335 收藏 -
Java 线程池出现任务堆积时,不要只盯着活动线程数。本文用队列长度、完成任务数和拒绝策略还原排查路径,并给出可复现的状态采样代码。284 收藏 -
并行流不是把线程数调大就会变快。本文用同一批数据对比串行流与并行流,解释 ForkJoinPool.commonPool 的参与方式、任务粒度、共享资源和压测边界,帮助你在真实服务里做出可复核的选择。378 收藏 -
文章 · java教程 | 3星期前 | Java · 正则表达式 · 性能 · Stream · predicate Java教程 Java Pattern.asMatchPredicate Java正则 Stream过滤
Pattern.asMatchPredicate 能把已编译正则直接变成 Predicate,适合复用在 Stream.filter 和输入校验中。本文拆开 matches 的完整匹配语义、find 的差异与重复编译成本。464 收藏 -
Java NIO WatchService 适合监听目录变化,但它不是变更日志:事件可能合并、丢弃或因 WatchKey 失效而停止通知。本文从注册目录、处理事件、识别 OVERFLOW、去重和全量重扫几个边界,给出一套可复查的实现方式。231 收藏 -
文章 · java教程 | 3星期前 | 排序 · 调试 · 集合 · Stream · Java教程 · java Stream linkedhashmap Collectors.groupingBy 分组顺序
Java Stream 用 groupingBy 分组时,结果默认通常是 HashMap,不能把遍历顺序当成输入顺序。本文从订单状态统计场景出发,拆解 LinkedHashMap 作为 mapFactory 的写法、排序边界和测试验收方法。275 收藏 -
文章 · java教程 | 3星期前 | 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教程 | 3星期前 | Java · 线程池 · 异步编程 · CompletableFuture · 线程池 Java CompletableFuture 异步超时 orTimeout completeOnTimeout
Java CompletableFuture 的 orTimeout 会让原任务以 TimeoutException 失败,completeOnTimeout 则把超时转换为备用结果。本文从订单查询的超时现场出发,拆开两种语义、异常回收与线程池验收边界。200 收藏