java教程技术文章
-
Java HttpClient 的 connectTimeout 负责新连接建立,HttpRequest.timeout 负责请求响应等待。本文用 Java 代码和异常边界说明两者的作用域、连接复用影响与排查方法。189 收藏 -
介绍 Java CRC32C 如何对数组区间、流式读取和 ByteBuffer 分块持续计算校验值,重点说明实际长度、position、getValue 与 reset 的边界。189 收藏 -
文章 · java教程 | 2星期前 | 配置管理 · Java · Spring Boot · 故障排查 · Java教程 · spring boot actuator @ConfigurationProperties 配置属性绑定 PropertySource
Spring Boot 配置属性绑定失败时,沿着失败字段、PropertySource 优先级、canonical key、类型转换和校验边界逐层排查,并用 configprops 与最小配置确认最终来源。184 收藏 -
JDK 21 的 SequencedCollection 为有遇见顺序的集合统一了首尾访问和反向视图。本文从迁移回归入手,说明类型收窄、空集合异常、不可修改实现、reversed 视图及公共 API 兼容处理。183 收藏 -
JDK 26 通过 JEP 522 减少 G1 写屏障与 GC 后台线程之间的同步。本文用统一基线、GC 日志、JFR 和业务指标,说明怎样判断高吞吐优化是否在自己的负载上兑现。181 收藏 -
Java Files.walk 返回的是惰性 Stream,它可能持有目录遍历资源,不能像普通集合一样长期放着不管。本文说明如何用 try-with-resources 包住完整消费范围,区分空结果、遍历异常和关闭边界,并整理一个可复用的安全封装。 180 收藏 -
Java Path.relativize 失败通常不是目标文件不存在,而是两个 Path 的绝对相对类型或根路径不匹配。本文用一个最小诊断工具说明判断条件、统一路径和安全降级写法。179 收藏 -
Java Optional 更适合表达方法可能没有结果,而不是长期挂在 DTO 或领域对象字段上。本文从一次字段改动引发的构造、序列化和调用问题出发,说明如何把缺失值语义放回正确边界。179 收藏 -
Java Flow 的 request(long) 不是暂停线程,而是增加订阅未满足需求。本文从 onNext 停滞现象出发,解释固定窗口、半窗补请求、非法参数,以及 HttpClient BodySubscriber 的继续请求与取消边界。176 收藏 -
Java Optional.stream 会把有值的 Optional 变成只含一个元素的顺序 Stream,把空 Optional 变成空 Stream。本文用一组可选查询结果拆解 flatMap(Optional::stream) 的写法、边界和落地选择。170 收藏 -
文章 · java教程 | 3星期前 | 异常处理 · 并发编程 · Java教程 · 虚拟线程 · java 结构化并发 StructuredTaskScope JDK 26 子任务取消 Joiner
用当前 JDK 26 的 StructuredTaskScope 和 Joiner 实现子任务失败即取消,讲清 join、get、close 与中断响应边界。165 收藏 -
StampedLock 乐观读的安全回退方式是先读取共享字段,再校验 stamp;校验失败后获取读锁,并在锁内重新读取全部字段,最后在 finally 中释放读锁。本文给出最小模板、限时回退和常见误区。165 收藏 -
Java Commons Compress 解压归档时,不能直接把 ArchiveEntry 的名称拼到目标目录后写盘。本文用 Path.normalize 和 startsWith 建立目录边界,再补上目录项、不可读项、流式复制和资源限制。165 收藏 -
用 Java ClassValue 按 Class 延迟缓存元数据,理解 get、computeValue、remove 的生命周期、失效方式与并发边界。165 收藏 -
Java sealed class 的许可列表只描述直接子类型。通过原创类层级示例区分封闭和开放分支,说明反射查询、对象归属及业务准入的不同用途。164 收藏