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