java教程技术文章
-
用CompletableFuture编排多个异步阶段时,应在阶段边界设置orTimeout,在异常出口区分TimeoutException与业务失败,并用handle统一结果,避免超时被吞掉或阻塞线程池。242 收藏 -
用 Java sealed interface 和 record 固定支付状态集合,结合 Java 21+ 的 switch 表达式减少非法状态组合,并在新增状态时获得编译期提醒。182 收藏 -
Java record 适合承载请求对象,但校验、默认值和集合可变性必须在紧凑构造器与工厂方法中分清边界。本文用一个请求 DTO 示例说明如何写出稳定的不可变输入。439 收藏 -
讲清Java并行Stream的遇到顺序、Collector并发特征和稳定结果设计,给出保序List、并发Map与带序号排序的选择方法。232 收藏 -
Java Stream 分组后保留每组首条记录,先用稳定排序定义首条,再用 toMap 合并函数保留旧值;复杂比较规则则集中到 Collector,并检查并行流、null 与重复键边界。265 收藏 -
Java虚拟线程支持ThreadLocal,但不适合用它缓存连接、大对象或可复用资源。本文说明状态隔离、remove清理、继承语义与迁移检查边界。451 收藏 -
Java虚拟线程适合承载大量等待型请求。本文用按任务创建、资源闸门和有界CPU执行器,说明阻塞I/O服务的线程模型与迁移边界。451 收藏 -
用一个三模块示例说明 Java ServiceLoader 如何通过 uses 与 provides with 在模块路径中注册并发现服务实现,同时给出编译、启动和空结果排查清单。378 收藏 -
Java 正则中的命名捕获组可以用 Matcher.group(String) 按名称读取,但重复量词只保留最近一次成功捕获;需要全部结果时应改用 find 循环收集。365 收藏 -
围绕 FileChannel、ByteBuffer 和 transferTo,讲清 Java NIO 大文件传输的缓冲控制、部分读写处理、资源关闭与验收边界。346 收藏 -
分代 ZGC 是否适合,不能只看堆大小。本文从暂停目标、存活集、分配速率、并发回收余量和机器内存出发,给出 Xmx、SoftMaxHeapSize 与收集器选择的判断方法。118 收藏 -
通过 G1 Region 大小、humongous 阈值和连续 Region 数量,可以保守估算大对象尺寸区间;本文同时解释 Humongous regions 日志为何不能单独定位某个对象。383 收藏 -
从返回类型、嵌套 Future、Async 执行器和异常传播四个角度,说明 Java CompletableFuture 中 thenApply 与 thenCompose 的选择方法。306 收藏 -
文章 · java教程 | 2天前 | Java教程 · CompletableFuture · Java HttpClient Java异步请求超时 CompletableFuture异常处理 HttpTimeoutException sendAsync异常读取
本文用 Java HttpClient 和 CompletableFuture 给出异步 HTTP 请求的生产写法,说明 request timeout、HTTP 状态码、HttpTimeoutException 与 CompletionException 根因的区别。278 收藏 -
围绕 Java 21 pattern switch 和 sealed 类型,说明 permitted 分支覆盖、when 守卫、无守卫兜底、支配关系与 null 边界的实现方法。448 收藏