Java
已收录文章:41篇
-
文章 · java教程 | 2个月前 | 并发 · Java · CompletableFuture · Java CompletableFuture 任务取消 orTimeout completeOnTimeoutCompletableFuture 超时后,调用方返回并不等于后台任务停止。本文用一个可复现实验对比 orTimeout、completeOnTimeout 与 cancel,给出超时降级、线程中断和资源回收的检查方法。152 收藏
-
批量同步订单或调用外部接口时,手写 subList 循环容易把边界、尾批和调用节奏揉在一起。Java 24 正式提供 Stream Gatherers 后,可以用 gather(windowFixed(n)) 把元素按固定数量组成批次,再把网络调用放在流外逐批处理。本文给出最小写法、尾批语义、旧方案对比和 JDK 版本边界。411 收藏
-
文章 · java教程 | 2个月前 | Java · 文件上传 · spring · nio · 后端开发 · java 文件上传 临时文件 数据清理 MultipartFile Files.move处理 MultipartFile 时,不要把客户端文件名直接拼进持久路径。把上传数据按校验、临时落盘、确认移动和失败清理分段处理,既能缩小异常影响范围,也能避免临时目录长期堆积。314 收藏
-
Java Stream 使用 Collectors.toMap 收集数据时,双参数重载遇到相同 key 会抛出 IllegalStateException。若业务允许把两条记录压成一条,应明确传入合并函数并定义保留旧值、覆盖新值或择优规则;若重复本身有业务意义,应改用 groupingBy 保留完整列表。并行流还要评估合并成本与是否真的需要并发 Map。159 收藏
-
虚拟线程适合大量阻塞型任务,但它不会自动增加数据库连接等稀缺资源。本文从读者提问出发,说明虚拟线程不该再被线程池复用,连接池本身的并发边界,以及何时应使用 Semaphore。430 收藏