java教程技术文章
-
文章 · java教程 | 3星期前 | 文件操作 · Java · nio · java nio Files.move ATOMIC_MOVE AtomicMoveNotSupportedException
Java Files.move 搭配 ATOMIC_MOVE 可以避免读者看到半成品,但并非所有文件系统都支持。本文给出异常边界、兼容降级和恢复策略。275 收藏 -
Java pattern matching for switch 遇到 null 时不会自动进入 default。本文用 case null 与 case null, default 对比说明匹配边界、合法组合和实际检查清单。274 收藏 -
用同一段 Java 代码验证 String.lines 对 LF、CRLF、末尾换行和空字符串的处理,并说明什么时候应该改用 split 或 Scanner。272 收藏 -
虚拟线程可以承载大量阻塞任务,但不会增加数据库连接数。本文用连接池、Semaphore 和等待指标拆开说明 Java 并发上限该怎么设。272 收藏 -
文章 · java教程 | 1个月前 | 面向对象 · Java教程 · Java 25 · 语言特性 · Java 25 JEP 513 Flexible Constructor Bodies super 构造器 Java 构造器
Java 25 将 Flexible Constructor Bodies 变成永久特性,构造器可以在 super() 或 this() 前执行不依赖实例的校验和参数准备。本文用订单金额校验和继承构造器示例,讲清可写什么、不能引用什么,以及从 Java 24 预览代码迁移时要检查的边界。271 收藏 -
Java 25 将灵活构造器正式化,构造器可以在 super 或 this 调用前做不依赖实例的计算、参数校验和字段初始化。本文用一个继承场景拆解新语法、旧版本编译边界、字段访问限制与迁移检查。270 收藏 -
文章 · java教程 | 1个月前 | 依赖管理 · Java · JVM · 故障排查 · java 类加载器 ClassNotFoundException NoClassDefFoundError 依赖排查
代码在编译阶段明明能找到类,部署后却抛出 NoClassDefFoundError,通常不是类名写错,而是运行时类路径、传递依赖或初始化阶段出了差异。本文用一个可复现的启动故障,拆开编译期可见、运行期加载和初始化失败三个边界,给出定位与修复检查单。269 收藏 -
ServerSocket对象能够用来搭建服务端程序,但光有服务端,通信这件事其实还跑不起来,还得有客户端配合完成交互。为了解决这个问题,JDK专门提供了一个Socket类,用来实现TCP客户端程序。查阅API文档会发现,Socket类同样准备了多个构造方法,下面就围绕其中几种常用构造方法展开说明。268 收藏 -
Oracle 计划提高 Java 安全更新频率。本文结合 JDK 26.0.2.1 的安全基线,说明团队如何固定 JDK 版本、安排回归窗口,并保留可执行的回滚记录。268 收藏 -
BigDecimal.divide 不指定舍入规则时,遇到 1/3 这类非终止小数会抛出 ArithmeticException。本文按金额小数位、有效数字和严格校验三种场景说明如何选择 scale、MathContext 与 RoundingMode。266 收藏 -
Java sealed interface 通过 permits 限制直接实现者,并要求它们用 final、sealed 或 non-sealed 明确后续扩展边界。本文结合层级、模块包约束和二进制兼容性说明如何正确设计。266 收藏 -
Java ServiceLoader 适合把接口与实现解耦,但真正容易出错的是提供者发现、延迟实例化和单个坏实现对迭代器的影响。本文用一个 Formatter 服务拆开 uses、provides、Provider.type 与 Provider.get 的边界。265 收藏 -
Java CharsetDecoder 默认可能用替换字符掩盖非法字节。本文用 REPORT 模式捕获 MalformedInputException,拆解 ByteBuffer 的 underflow/overflow 边界,并给出可核对解码结果的最小示例。265 收藏 -
文章 · java教程 | 1个月前 | Java · IO · 异常处理 · jdk · PrintStream JDK 26.0.2 PrintWriter checkError InterruptedIOException
JDK 26.0.2 调整 PrintStream 与 PrintWriter 的中断写入行为:自定义输出流抛出 InterruptedIOException 后,不仅保留线程中断状态,还会设置包装器错误标记,使 checkError 返回 true。本文说明兼容差异与处理边界。265 收藏 -
CompletableFuture 异常处理要先定位阶段,再按目标选择 exceptionally、handle、whenComplete 或 exceptionallyCompose,并检查异常包装与线程池。265 收藏