java教程技术文章
-
文章 · java教程 | 4星期前 | 数据校验 · api设计 · Java教程 · 参数校验 Java record API DTO Jakarta Validation 紧凑规范构造器 跨字段校验
Java Record 作为 API DTO 时,不要把所有校验都塞进构造器。本文按字段格式、Record 自身不变量、跨字段业务规则和外部依赖四类边界,说明紧凑规范构造器、Jakarta Validation 与应用服务各自适合承担什么校验。370 收藏 -
文章 · java教程 | 4星期前 | 线程池 · 异常处理 · 并发编程 · Java教程 · CompletableFuture · 异步任务 completablefuture allOf Handle 结果汇总 CompletionException
本文解释 CompletableFuture.allOf 为什么只返回 Void、如何在完成屏障后汇总子任务结果,并通过 handle 将任务名、成功值和根异常保存到 TaskResult,解决多任务失败归属不清的问题。482 收藏 -
用 Java 25 的 StructuredTaskScope 组织 fork、join、close,明确并发子任务的共同完成、失败、超时和取消边界。425 收藏 -
从线程模型、下游资源限流与容量估算三个层面,说明 Java 25 虚拟线程如何承载阻塞 I/O,并避免把大量线程误当成无限容量。484 收藏 -
分代 ZGC 没有一个可以单独代表晋升压力的万能数字。本文用 GC 日志、JFR 和业务基线,判断老年代存活量、回收频率与堆余量是否共同恶化,并给出调参和排查边界。200 收藏 -
Java MemorySegment 的跨线程访问范围由关联 Arena 决定:Arena.ofConfined 只允许所有者线程访问,Arena.ofShared 允许任意线程访问。本文给出 JDK 22 后的最小写法、切片边界和迁移检查。132 收藏 -
Java 24 的 Class-File API 可通过 CodeTransform 处理方法 Code 属性,再用 ClassTransform.transformingMethodBodies 提升到整类转换。本文以删除 nop 指令为例,说明模型层级、完整代码、按方法过滤和属性边界。199 收藏 -
Java Gatherer 中只有在 integrator 不会因业务条件提前停止输入时,才适合用 Integrator.Greedy 表达契约。本文从返回值、下游信号、并行合并和边界场景说明判断方法。112 收藏 -
本文说明 Java FileChannel.transferTo 为什么可能只传输部分字节,并给出按返回值推进 position、处理返回 0 和区分非阻塞目标的可靠循环方案。229 收藏 -
文章 · java教程 | 1个月前 | Java · 异步编程 · Java HttpClient BodyHandlers.fromLineSubscriber Flow.Subscriber 异步响应 按行消费
Java HttpClient 可通过 BodyHandlers.fromLineSubscriber 将文本响应逐行交给 Flow.Subscriber。本文给出带 request(1) 背压、异步处理、状态码分流和异常取消的完整实现。433 收藏 -
文章 · java教程 | 1个月前 | 并发 · 超时控制 · 异步编程 · Java教程 · CompletableFuture · java completablefuture TimeoutException orTimeout completeOnTimeout
completeOnTimeout 会在超时后用兜底值正常完成,orTimeout 会以 TimeoutException 异常完成。本文从业务语义、下游处理、共享 Future 与任务取消边界出发,给出选择方法和代码示例。152 收藏 -
Java 21 可根据 sealed 类型的允许子类型检查 switch 是否穷尽。本文用订单结果模型说明覆盖规则、为何省略 default,以及 null、守卫、泛型与版本演进边界。413 收藏 -
Java 泛型 record pattern 会先根据选择器的静态类型推断记录类型参数,再把适配后的组件类型交给 var。本文用 Box、显式写法和嵌套模式说明推断链、选型方法及泛型擦除边界。 357 收藏 -
Java 21 的 List.reversed() 返回反向有序视图,不是副本。本文用 ArrayList 和只读 List 对比说明 set、remove、addFirst 是否会写回原集合,以及什么时候必须显式复制。105 收藏 -
Java ScopedValue 的内层绑定只在嵌套动态作用域中遮蔽外层值,退出后自动恢复。本文用 where、run、get、isBound 和 orElse 说明嵌套读取、异常边界、线程继承与不可变上下文的使用方法。104 收藏