java教程技术文章
-
Driver 接口是所有 JDBC 驱动都必须实现的一项基础接口,主要面向数据库厂商提供。还要特别注意一点:编写 JDBC 程序时,所使用的数据库驱动程序或相关类库,必须提前放到项目的 classpath 中。说得更直接一些,这里指的就是对应数据库的驱动 JAR 包。343 收藏 -
用 Java ModuleLayer 为插件建立独立模块层,串起 Configuration、类加载器和查找入口,并说明解析失败、类加载冲突与卸载边界。341 收藏 -
DriverManager类用于加载JDBC驱动并且创建与数据库的连接。在DriverManager类中,定义了两个比较重要的静态方法,如表1所示。 表1 DriverManager类的重要方法 方法声明 功能描述 static synchronized void registerDriver(Dr338 收藏 -
文章 · java教程 | 2星期前 | Switch · Java教程 · 代码重构 · 模式匹配 · Java 21 · null安全 · Java 21 switch模式匹配 case null Pattern Matching null安全
Java 21 的 switch 模式匹配可以把类型判断和解构写进分支,但传统 switch 遇到 null 仍可能抛 NullPointerException。本文用订单状态路由场景说明 case null、类型覆盖、default 与旧代码兼容边界,并给出可复现的验收测试。338 收藏 -
用 DateTimeFormatterBuilder 兼容只有日期、带时间和带时区的输入,配合 parseBest、parseDefaulting 与 DateTimeParseException 做出稳定的类型判断和失败提示。338 收藏 -
UDP是一种无连接协议,换句话说,通信双方在传输数据前并不需要先建立连接。它的工作方式,其实很像货运公司在两个码头之间运送货物:货物发出和接收时,都得先装进集装箱里。UDP也是同样的道理,发送和接收的数据也需要先经过“集装箱”式的封装。为此,JDK专门提供了一个DatagramPacket类,这个类336 收藏 -
文章 · java教程 | 2星期前 | Java · 并发编程 · CompletableFuture · java completablefuture exceptionallyCompose 异步恢复 超时回退
用 CompletableFuture.exceptionallyCompose 把异步降级接回原链路,区分业务异常、超时和回退失败,配合 orTimeout 完成可验收的恢复流程。336 收藏 -
Files.readString 适合小型文本读取,却会把整个文件和解码后的字符串同时带进堆。本文用内存预算、newBufferedReader 分块读取和 lines 流关闭三个检查点,说明大文件读取该如何选型。335 收藏 -
文章 · java教程 | 1星期前 | 并发 · Java · 异常处理 · 懒加载 · Java25 · java 稳定值接口 orElseSet IllegalStateException 懒初始化
Java 25 的预览稳定值接口只能设置一次,适合做惰性初始化,但循环依赖会在取值时抛出 IllegalStateException。本文用两个稳定值的依赖图拆解触发边界、并发语义与强可达带来的生命周期取舍。335 收藏 -
文章 · java教程 | 1星期前 | 文件操作 · 配置管理 · Java · 后端开发 · Java NIO · 配置文件 临时文件 原子替换 Java Files.move ATOMIC_MOVE
配置文件直接覆盖时,读线程可能看到半截内容。本文用 Java NIO 的临时文件、Files.move 和同目录改名实现一次完整替换,并说明 ATOMIC_MOVE 不可用时如何回退与核对结果。332 收藏 -
文章 · java教程 | 1星期前 | Java · 版本管理 · 运行时检查 · Java Runtime.Version Java版本比较 feature interim update Java预览版本
用 Java Runtime.Version 解析并比较运行时版本,区分 feature、interim、update、patch 与 pre 预览标记,避免把字符串排序误当成版本判断。332 收藏 -
用 Java Thread.Builder.OfVirtual 创建虚拟线程时,统一配置线程名和 UncaughtExceptionHandler,并通过可见日志验收异常是否真正被接住。331 收藏 -
文章 · java教程 | 1星期前 | 反射 · 故障排查 · Java教程 · MethodHandles · 模块化 · 访问权限 Java反射 模块系统 MethodHandles privateLookupIn
Java 反射调用私有方法失败时,问题通常不在方法签名,而在 Lookup 的访问能力、目标类所在模块和包是否开放。本文用最小示例拆开查找模式、privateLookupIn 与模块边界。331 收藏 -
BigDecimal 的 1.0 和 1.00 数值相等,但 equals 结果不同,放进 HashSet 也会留下两条记录。本文从订单金额比较误判的现场出发,说明 scale、compareTo、HashMap 去重和金额归一化的边界。330 收藏 -
文章 · java教程 | 1个月前 | 调试 · 异常处理 · Java教程 · try-with-resources · AutoCloseable · 文件关闭 AutoCloseable Java教程 Java try-with-resources suppressed exceptions
Java 的 try-with-resources 会自动关闭资源;当业务代码和 close 同时抛异常时,关闭异常会作为 suppressed exception 保留。本文给出排查文件、JDBC 和网络资源关闭问题的检查清单。327 收藏