java教程技术文章
-
用一个只允许从 0 变为 1 的状态位,拆开 Java VarHandle compareAndExchangeAcquire 的 witness 返回值、acquire 读取语义、失败分支和可验证测试。453 收藏 -
文章 · java教程 | 2天前 | 网络编程 · 并发 · Java · websocket · 故障排查 · java websocket httpclient CompletionStage sendClose onClose
Java HttpClient WebSocket 关闭时,sendClose 的 CompletionStage、Listener.onClose 和 onError 可能以不同顺序到达。本文用一个订阅客户端拆解正常关闭、异常断线、状态竞态与重连边界,给出可验证的收尾写法。162 收藏 -
周期任务看起来每分钟执行一次,实际却可能因单次执行超时、未捕获异常或重复创建调度器而失控。本文拆解固定频率调度下的任务不重叠、异常终止和恢复路径,给出可验证的 Java 写法。387 收藏 -
用一个订单报价查询示例说明 CompletableFuture.exceptionallyCompose 如何把异常恢复串成新的异步阶段,并核对 exceptionally、exceptionallyAsync、orTimeout 的边界。233 收藏 -
文章 · java教程 | 2天前 | 并发 · Java · 线程池 · 性能优化 · future · java 并发任务 future take poll CompletionService 完成队列
Java 完成队列会把已完成的 Future 放入队列,适合从多个并发任务中按完成先后消费结果。本文用一个最快结果优先的查询场景,比较 take 与 poll 的边界,并说明超时后如何取消剩余任务和安全关闭线程池。479 收藏 -
Java Matcher.find 会在区域内寻找下一个匹配片段,matches 则要求整个区域匹配。本文用日志过滤示例拆解两者的控制流、region 边界与 group 结果校验。320 收藏 -
Java Arrays.mismatch 会返回两个数组首个差异的相对索引,完全一致时返回 -1。本文从二进制快照校验出发,拆解整数组比较、范围偏移、前缀和长度边界,并给出可运行的验收代码。204 收藏 -
文章 · java教程 | 2天前 | 反射 · Java教程 · 方法句柄 · 类型适配 · 调用校验 · astype MethodType Java MethodHandle insertArguments invokeExact
Java MethodHandle 组合调用时,先用 insertArguments 固定可选参数,再用 asType 对齐 MethodType,最后用 invokeExact 做调用点验收。本文用订单格式化示例拆解参数位置、返回类型和 WrongMethodTypeException 边界。175 收藏 -
Java Optional.orElseGet 只有在 Optional 为空时才调用默认值供应器,适合避免缓存未命中后的无效计算。本文用配置读取示例拆解 orElse、orElseGet、orElseThrow 的求值和异常边界。162 收藏 -
用一个可复查的缓存刷新场景,说明 Java ReentrantReadWriteLock 从写锁降级到读锁的正确顺序、异常释放边界与验证方法。381 收藏 -
用 Java 的任务完成队列按完成顺序消费 Future,区分任务异常与队列取空,并在 finally 中可靠关闭线程池。165 收藏 -
文章 · java教程 | 2天前 | 字符集 · Java教程 · 异常排查 · CharsetDecoder · ByteBuffer · 乱码 ByteBuffer Java教程 Java CharsetDecoder 字符解码
Java CharsetDecoder 默认可能用替换字符掩盖非法字节。本文用 REPORT 模式捕获 MalformedInputException,拆解 ByteBuffer 的 underflow/overflow 边界,并给出可核对解码结果的最小示例。265 收藏 -
文章 · java教程 | 2天前 | Java · 并发与底层 · 反射调用 · java astype MethodHandles MethodHandle WrongMethodTypeException
Java MethodHandle.asType 会返回一个拥有新签名的适配句柄。本文用一个静态方法调用实验拆开参数转换、返回值转换、invokeExact 校验和 WrongMethodTypeException 的边界。446 收藏 -
Java 21 的 SequencedCollection.reversed 返回反向视图,而不是复制集合。本文用 ArrayList 和 LinkedHashSet 验证首尾操作、修改传播与使用边界。417 收藏 -
Java 21 引入 SequencedMap 后,可以用统一的首尾操作和 reversed() 视图处理有明确遇见顺序的键值集合。本文用 LinkedHashMap 演示 firstEntry、lastEntry、putFirst、putLast 与倒序遍历的差异,并标出 Java 17 及更早版本的兼容边界。287 收藏