java教程技术文章
-
文章 · java教程 | 7小时前 | 文件处理 · 配置管理 · Java · 命令行工具 · nio · Java Files.mismatch 配置目录校验 Files.mismatch Java文件对比
部署前想确认两份配置目录是否完全一致,不必先引入第三方 diff 库。本文用 Java NIO 的 Files.mismatch 做一个小型目录核对工具,处理参数校验、相对路径、二进制差异、报告输出和退出状态,最后给出可复查的本地运行方式。371 收藏 -
Java 25 将 ScopedValue 正式纳入平台 API,适合在一次请求的调用链里传递不会被中途修改的 requestId、租户和权限快照。本文用虚拟线程示例对比 ThreadLocal,给出最小写法、边界和迁移判断。284 收藏 -
文章 · java教程 | 2天前 | Java · HTTP · ndjson · httpclient · 性能实践 · 流式读取 背压 Java HttpClient NDJSON BodyHandlers.ofLines
Java HttpClient 读取 NDJSON 时,先用 BodyHandlers.ofLines() 把响应转成逐行流,再在消费端做字段校验、数量上限和超时收尾。本文用订单事件流说明连接关闭、异常中断与消费速度不匹配时的处理边界。309 收藏 -
文章 · java教程 | 4天前 | 并发 · Java · CompletableFuture · Java CompletableFuture 任务取消 orTimeout completeOnTimeout
CompletableFuture 超时后,调用方返回并不等于后台任务停止。本文用一个可复现实验对比 orTimeout、completeOnTimeout 与 cancel,给出超时降级、线程中断和资源回收的检查方法。152 收藏 -
Java 批量任务平台遇到大客户集中提交时,不能只靠扩大线程数。本文用队列分片、租户并发配额、全局资源预算和可恢复回压,把慢租户与正常租户隔开,并给出可验证的 Java 实现骨架。300 收藏 -
文章 · java教程 | 5天前 | 事务 · spring · aop · Java教程 · Transactional · 排错 · java Spring 事务失效 @Transactional AOP代理 同类方法调用 订单创建
Spring 服务里一个带 @Transactional 的方法被同类普通方法直接调用时,事务可能没有开启。以订单创建与库存扣减场景为例,本文说明代理边界、日志验证、拆分服务的稳妥修法,以及哪些替代写法不适合长期使用。406 收藏 -
文章 · java教程 | 5天前 | 数据库 · 性能优化 · Java教程 · Optional · orElseGet · java 数据库查询 懒加载 optional supplier orElse orElseGet
Java Optional 的 orElse 会先计算兜底参数,即使主值已存在也可能触发数据库或远程调用。用订单展示接口复现这个问题,说明 orElseGet、Supplier、异常处理与测试边界。238 收藏 -
文章 · java教程 | 5天前 | 数据库 · 性能优化 · Java教程 · Optional · orElseGet · java 数据库查询 懒加载 optional supplier orElse orElseGet
Java Optional 的 orElse 会先计算兜底参数,即使主值已存在也可能触发数据库或远程调用。用订单展示接口复现这个问题,说明 orElseGet、Supplier、异常处理与测试边界。186 收藏 -
文章 · java教程 | 6天前 | Record · Java教程 · 防御式拷贝 · List.copyOf · Arrays.copyOf · 不可变性 · arrays.copyof 可变集合 Java record List.copyOf 防御式拷贝 数组克隆
Java record 没有 setter,并不表示放进 record 的 List、数组或可变对象不会在别处被改动。订单入参一旦把调用方集合或签名数组的引用直接保存,接口进入服务层后仍可能出现内容漂移。用 List.copyOf 固定集合结构、对数组在构造器和访问器两端复制,再用一段小检查覆盖输入侧与输出侧,就能把 record 的边界写得更可靠。247 收藏