java教程技术文章
-
Java Optional 的 orElse 会先计算默认参数,所以即使 Optional 有值,默认方法也可能执行。本文用最小示例解释 orElse 与 orElseGet 的求值时机和选择边界。382 收藏 -
LocalDateTime 不包含时区,不能单独确定时间戳。本文用 ZoneId、ZonedDateTime 和 Instant 演示秒级、毫秒级转换,并说明夏令时、固定偏移和精度损失。443 收藏 -
用 CompletableFuture.allOf 等待并行任务,再用 handle 把成功值和失败原因统一成结果对象,最后按原顺序收集,避免一个异常吞掉其他已完成结果。452 收藏 -
Java BigDecimal 的 2.0 与 2.00 数值相同但 equals 返回 false,是因为 equals 同时比较数值和 scale。本文用代码说明 compareTo、setScale、stripTrailingZeros 与集合键的选择边界。456 收藏 -
Spring Framework 7.0.8 与 6.2.19 修复多项 WebFlux、MVC、WebSocket 会话和资源处理安全问题。本文按依赖盘点、版本选择、回归测试和灰度回滚给出一套不涉及漏洞利用的升级方法。251 收藏 -
自定义 Starter 已加入依赖却没有 Bean,通常要分开检查 JAR 发现入口、自动配置条件和业务覆盖关系。本文用 AutoConfiguration.imports、@AutoConfiguration 与条件评估报告串起一套可验证的排查和发布边界。304 收藏 -
JDK 26.0.2 修复了 HttpClient 忽略 SSLParameters 中 named groups 和 signature schemes 的问题。本文用最小配置说明生效边界,并区分 null、空数组、优先级数组与 SunJSSE 提供者的行为。174 收藏 -
Oracle 计划提高 Java 安全更新频率。本文结合 JDK 26.0.2.1 的安全基线,说明团队如何固定 JDK 版本、安排回归窗口,并保留可执行的回滚记录。268 收藏 -
文章 · java教程 | 2星期前 | 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 25 的 AOT Method Profiling 会把训练运行得到的方法画像带到 JVM 启动阶段。本文用 record、create、on 三段命令拆解配置文件和缓存文件的关系,并核对 JDK、应用、操作系统与 CPU 不一致时的回退边界。179 收藏 -
JDK 26 预览 API LazyConstant 可以替代常见的双重检查锁,但“最多初始化一次”不等于计算函数绝不重试。本文讲清线程安全、异常重试、空值、递归和长期引用边界。167 收藏 -
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。244 收藏 -
Spring AI 2.0 的 ToolSearchToolCallingAdvisor 会按会话索引工具。本文从工具全量暴露的排查现场出发,说明 session ID、工具索引和 ChatClient 之间的边界,并给出 Java 配置示例与核对清单。221 收藏