java教程技术文章
-
Java 模式 switch 的 default 不接收 null。本文通过独立空值分支、组合兜底和输入矩阵,说明如何区分缺失值与未知类型,定位分支内部的空指针风险。162 收藏 -
从批量数值处理的输入路径解释 BigDecimal(double) 长尾的来源,比较字符串构造与 valueOf,并说明先做浮点运算、scale 和舍入规则的处理边界。162 收藏 -
区分虚拟线程中的锁竞争与载体固定,说明JDK 24的JEP 491变化,用缓存快照示例讲解缩短临界区的条件,并提示并发刷新和原子业务的一致性边界。161 收藏 -
文章 · java教程 | 1天前 | Java · 并发编程 · CompletableFuture · java completablefuture obtrudeException 异步异常恢复
讲清 Java CompletableFuture.obtrudeException 如何覆盖已完成 future 的后续读取结果,并用依赖阶段示例说明旧值与新异常可能并存的边界。161 收藏 -
Java ZipEntry 的 extra 是 ZIP 条目的原始扩展字节。本文说明如何读取、复制和设置这段元数据,并从长度限制、未知字段和审计记录三个角度避免转存时丢失或误解析。160 收藏 -
ChoiceFormat 用升序 limits 把数字映射到分段提示文本。本文说明 # 与 < 的边界差异、数组构造、MessageFormat 组合、5 个边界样例和线程安全注意事项。159 收藏 -
Files.mismatch 返回的是两个文件首个不一致字节的 0 起始偏移;完全一致返回 -1L,较短文件是相同前缀时返回较短文件的字节数。本文用 Java 示例说明大文件比较时如何正确解释这个 long 值。159 收藏 -
Java BigInteger.modInverse 抛 ArithmeticException 通常不是精度问题,而是模数不为正或被模数与模数不互质。本文用 gcd 预检和异常兜底整理清晰的调用方式。159 收藏 -
从订单状态更新的并发场景出发,拆开 ReentrantLock 公平参数、tryLock 语义、超时中断和 finally 解锁边界,给出可复查的 Java 示例与生产检查清单。158 收藏 -
Java 虚拟线程 pinned 定位应先区分运行版本,再结合 JFR 事件与线程转储,记录时间窗口、调用栈和证据边界,避免把等待或同步关键字直接当成钉住结论。158 收藏 -
Java Pattern 命名捕获组通过字段名称取值,配合非捕获组减少对数字组号的依赖。结合文件名解析示例,说明可选字段、匹配状态、错误分类和规则变更时的字段契约。158 收藏 -
用 Java NIO FileChannel、临时文件和 checkpoint 实现可恢复的大文件复制,处理短传输、force、源文件变化与最终替换。157 收藏 -
批量导入时,HashMap 的扩容可能把本来平滑的写入变成一段明显停顿。本文从容量计算、阈值变化和并发边界三个方面还原问题,并给出可验证的初始化与替代方案。156 收藏 -
Java record 需要校验或归一化参数时,可以在紧凑构造器中直接处理隐式参数;本文说明 public 访问级别、字段赋值限制、浅不可变集合和反射读取组件的迁移边界。156 收藏 -
用 ConcurrentHashMap.computeIfAbsent 实现按 key 的原子懒加载,说明 null、异常、递归更新和耗时初始化的处理边界。156 收藏