java教程技术文章
-
文章 · java教程 | 2星期前 | 故障排查 · Java教程 · 进程管理 · ProcessHandle · 系统编程 · java 子进程 退出码 ProcessHandle 进程生命周期
Java 管理外部子进程时,isAlive、onExit 和 exitValue 解决的是不同问题。本文用一个可复现的小任务拆解退出状态、异步等待、异常处理与句柄回收边界。249 收藏 -
Java Files.lines 返回的是持有文件资源的惰性 Stream,必须在 try-with-resources 中关闭;本文说明文件句柄为何持续占用、正确写法以及与 readAllLines、BufferedReader 的选择边界。248 收藏 -
Java java.time.Duration.dividedBy 可以把耗时切成固定时间片,但整数除法、零值除数和超大纳秒数都可能改变结果。本文用限流窗口和任务分片示例说明返回值、异常边界与测试验收。245 收藏 -
文章 · java教程 | 2星期前 | Java · 人工智能 · 工具调用 · Spring AI · java 工具调用 会话隔离 Spring AI ToolSearchToolCallingAdvisor
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。244 收藏 -
Java Files.walk 返回的是惰性 Stream,遍历大目录时要同时处理流关闭、符号链接深度和中途异常。本文用一个目录清理场景说明 Files.walk 与 walkFileTree 的选择边界,并给出可验证的安全写法。243 收藏 -
Java 高并发统计计数优先考虑 LongAdder:它通过分散内部计数降低更新竞争,再用 sum 汇总;AtomicLong 则更适合序列号、额度和需要原子读改写的精确状态。本文对比两者的吞吐、读取、重置和迁移边界。243 收藏 -
Java Optional 的 empty 表示没有值,不等于异常。通过 map、filter 和 orElseThrow 的边界设计,可以保留真实故障并稳定处理缺省结果。242 收藏 -
文章 · java教程 | 3星期前 | 网络编程 · 并发 · Java · httpclient · 会话管理 · 并发请求 HTTPCookie Java HttpClient CookieHandler 会话隔离
Java HttpClient 的 CookieHandler 既能复用会话,也可能让不同账号的请求串 Cookie。本文从共享客户端、并发访问和任务结束三个边界,给出隔离、清理与验证方法。241 收藏 -
Java HttpClient 的 sendAsync 返回可取消的 CompletableFuture。本文区分请求级超时与业务主动取消,给出保留原始 future、定时 cancel、异常分类和响应体收尾的完整写法。240 收藏 -
Java DateTimeFormatter 中大写 YYYY 表示周基准年,年末可能与公历年不同。本文解释 YYYY、yyyy、uuuu 的区别,并给出普通日期与周日期的正确写法。239 收藏 -
Java 22 通过 JEP 456 正式支持未命名变量与未命名模式,用下划线忽略不需要的值。本文从 switch、record 模式和异常参数三个场景说明作用域边界,并给出 javac 编译验收方法。237 收藏 -
Java 25 的一次性值容器是预览 API,适合表达只设置一次的懒加载结果。本文用并发配置缓存示例拆解 supplier 的至多一次成功计算、异常重试、预览开关和内存驻留边界,帮助你判断它何时比手写双重检查更合适。236 收藏 -
Java 24 的 Gatherers.fold 适合没有合并器、且结果依赖输入顺序的聚合。本文用分段账单摘要拆解状态边界、空流结果与并行流验收,避免把 fold 当成可随意并行的 reduce。233 收藏 -
用一个订单报价查询示例说明 CompletableFuture.exceptionallyCompose 如何把异常恢复串成新的异步阶段,并核对 exceptionally、exceptionallyAsync、orTimeout 的边界。233 收藏 -
Java NIO WatchService 适合监听目录变化,但它不是变更日志:事件可能合并、丢弃或因 WatchKey 失效而停止通知。本文从注册目录、处理事件、识别 OVERFLOW、去重和全量重扫几个边界,给出一套可复查的实现方式。231 收藏