java教程技术文章
-
JDK 26.0.2 修复了 HttpClient 忽略 SSLParameters 中 named groups 和 signature schemes 的问题。本文用最小配置说明生效边界,并区分 null、空数组、优先级数组与 SunJSSE 提供者的行为。174 收藏 -
Oracle 计划提高 Java 安全更新频率。本文结合 JDK 26.0.2.1 的安全基线,说明团队如何固定 JDK 版本、安排回归窗口,并保留可执行的回滚记录。268 收藏 -
文章 · java教程 | 1天前 | Java · IO · 异常处理 · jdk · PrintStream JDK 26.0.2 PrintWriter checkError InterruptedIOException
JDK 26.0.2 调整 PrintStream 与 PrintWriter 的中断写入行为:自定义输出流抛出 InterruptedIOException 后,不仅保留线程中断状态,还会设置包装器错误标记,使 checkError 返回 true。本文说明兼容差异与处理边界。265 收藏 -
JDK 26 的预览 API PEMEncoder 可以通过 withEncryption 加密并输出私钥类对象。本文说明不可变实例、支持类型、密码数组和预览编译参数的实际边界。114 收藏 -
JDK 26 开始,深反射修改 final 字段会给出警告。本文用 debug、JFR 和 deny 预演定位真正的库依赖,并划清临时放行与长期修复边界。309 收藏 -
文章 · java教程 | 2天前 | 性能优化 · JVM · Java教程 · Java 25 · AOT · 预热 启动速度 Java 25 AOT Method Profiling AOT Cache
Java 25 的 AOT Method Profiling 会把训练运行得到的方法画像带到 JVM 启动阶段。本文用 record、create、on 三段命令拆解配置文件和缓存文件的关系,并核对 JDK、应用、操作系统与 CPU 不一致时的回退边界。179 收藏 -
JDK 26 预览 API LazyConstant 可以替代常见的双重检查锁,但“最多初始化一次”不等于计算函数绝不重试。本文讲清线程安全、异常重试、空值、递归和长期引用边界。167 收藏 -
文章 · java教程 | 3天前 | Java · 人工智能 · 工具调用 · Spring AI · java 工具调用 会话隔离 Spring AI ToolSearchToolCallingAdvisor
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。244 收藏 -
文章 · java教程 | 3天前 | Java · 人工智能 · 工具调用 · Spring AI · java 工具调用 会话隔离 Spring AI ToolSearchToolCallingAdvisor
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。221 收藏 -
文章 · java教程 | 3天前 | Java · 人工智能 · 工具调用 · Spring AI · java 工具调用 会话隔离 Spring AI ToolSearchToolCallingAdvisor
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。367 收藏 -
文章 · java教程 | 3天前 | 网络编程 · Java · HTTP客户端 · 超时处理 · 请求体 · java httpclient HttpRequest expectContinue 100 Continue 大请求
Java HttpRequest.Builder 的 expectContinue(true) 可以让服务器先确认是否接收请求,再发送较大的请求体。文章结合 BodyPublisher、100 Continue、错误响应和 timeout,说明它适合什么场景、哪里容易误判,以及如何设计可核对的请求边界。384 收藏 -
文章 · java教程 | 4天前 | 并发 · Java · 异常处理 · 懒加载 · Java25 · java 稳定值接口 orElseSet IllegalStateException 懒初始化
Java 25 的预览稳定值接口只能设置一次,适合做惰性初始化,但循环依赖会在取值时抛出 IllegalStateException。本文用两个稳定值的依赖图拆解触发边界、并发语义与强可达带来的生命周期取舍。335 收藏 -
用 Java Collectors.teeing 在一次 Stream 消费中同时计算订单总额与通过数量,拆开两个下游 Collector、空输入默认值和结果对象的设计边界。290 收藏 -
用同一段 Java 线程实验复现 ReentrantReadWriteLock 非公平与公平策略下的写锁等待,解释读者持续到达时的排队边界,并给出可复查的选择方法。447 收藏 -
用同一段 Java 代码验证 String.lines 对 LF、CRLF、末尾换行和空字符串的处理,并说明什么时候应该改用 split 或 Scanner。272 收藏