java教程技术文章
-
从异常中的模块与包名入手,区分 exports、opens 和读取关系,给出 Java 反射 setAccessible 失败的诊断代码与最小修复方案。227 收藏 -
JTable 开启排序后,复选框状态容易因为视图行号和模型行号混用而错位。本文用一个可运行的 Swing 表格拆开索引转换、状态保存、刷新重建和验收方法。226 收藏 -
从 plain、opaque、acquire/release 到 volatile,梳理 Java VarHandle 的内存序选择方法,并用发布协议验证共享数据可见性。226 收藏 -
Java HttpClient 没有直接的 multipart 表单构造器,需要自己处理 boundary、CRLF、文件段和长度。本文给出可计算长度的拼接方案,并说明大文件如何改用可重复创建的流式请求体。225 收藏 -
Java 25 的 ScopedValue 适合在明确的动态作用域内单向传递不可变上下文;ThreadLocal 仍适合可变的线程本地状态,但在线程池任务结束时必须 remove。本文用最小代码和选择表说明两者在任务边界、嵌套绑定和子任务继承上的区别。225 收藏 -
Java record pattern 如何拆解嵌套数据?本文用订单、地址和金额示例说明 instanceof、switch、null 边界及泛型嵌套模式的写法。223 收藏 -
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。221 收藏 -
文章 · java教程 | 3天前 | 并发 · Java · CompletableFuture · java 异步编程 completablefuture CompletionStage minimalCompletionStage
服务内部需要控制 CompletableFuture 的完成权,但直接返回它会让下游拥有过多操作面。本文用 minimalCompletionStage 建立只读编排边界,并说明 toCompletableFuture、异常与取消的适配位置。219 收藏 -
Webhook 接口只校验一个固定密钥还不够,泄露过的请求可能被再次发送。本文从零做一个 Java 签名校验小服务,用时间戳、HMAC-SHA256 和请求体摘要判断请求是否可信,并用 curl 验收通过、过期和篡改三种结果。215 收藏 -
MethodHandle 没有独立的类型配置项,类型由 MethodType 和查找方式决定。本文从句柄创建、接收者位置、invokeExact 严格匹配与 asType 适配四层排查常见 WrongMethodTypeException。214 收藏 -
用 Java JFR RecordingStream 订阅有限事件,围绕延迟尖峰建立时间窗口、线程堆栈和 GC/锁/I/O 证据链,并控制流式记录的资源边界。213 收藏 -
使用 Java HttpClient 与 CompletableFuture 封装可取消的异步 GET 重试:只重试暂时性异常和指定状态码,加入退避、最大次数与请求超时,并把外层取消传播到当前 HTTP 交换或等待任务。212 收藏 -
用 Java 25 的 jdk.incubator.vector.FloatVector 改写批量 float 计算,讲清 preferred species、lane 宽度、尾部掩码、模块参数和标量回退的验收方法。211 收藏 -
Java Pattern 使用命名捕获组读取可选字段时,要区分分支未参与匹配产生的 null 与匹配空文本产生的空字符串,并在解析边界统一处理默认值和异常。209 收藏 -
对比 Java Stream Gatherer 与 Collector 的操作位置、状态函数、输出形态、短路和并行边界,并用固定窗口与终态汇总示例给出选型方法。205 收藏