java教程技术文章
-
Java Files.isSameFile 判断的是两个 Path 是否定位到同一个文件实体,而不是只比较路径字符串或文件内容。本文说明最小调用方式、相等 Path、不同文件系统 provider、符号链接和 IOException 的边界。103 收藏 -
讲清 Java ExecutorService.shutdownNow 对排队任务和运行中任务的不同处理方式,并给出可响应中断、等待终止、记录重试任务的关闭方案。103 收藏 -
Java 批量校验邮箱、手机号等字段时,反复编译 Pattern 和把 Matcher 跨线程复用,都会让接口延迟抬头。本文从 Pattern、Matcher 的职责边界出发,对比错误写法与复用写法,再用 JMH 风格基准和业务验收检查性能收益。102 收藏 -
NIO是为替代传统标准的I/O而出现的。与标准的IO相比,NIO提供了一种与I/O不同的工作方式。NIO采用内存映射文件的方式来处理输入/输出,它将文件或文件的一段区域映射到内存中,这样就可以像访问内存一样来访问文件了。 在标准IO中,使用的是字节流和字符流,而在NIO中,使用的是通道(Channe101 收藏 -
Java 21 引入 SequencedCollection 后,List、Deque 等有顺序集合可以用统一的首尾 API 与 reversed() 视图处理最近记录、队列和倒序展示。本文从订单事件列表出发,说明接口选择、空集合边界、反向视图写入和不可变包装的验收方法。100 收藏 -
用 Java Spliterator 的 trySplit 做批量切分时,关键不是让任务越多越好,而是读懂估算值、切分结果与剩余区间,给并行流设置可验收的批次边界。100 收藏 -
Java 模块反射报访问被拒绝时,先看调用是否需要深反射:exports 面向公开类型和成员,opens 面向运行时访问包内全部成员。本文用 module-info.java、--add-opens 和 Module API 给出排查与落地方法。100 收藏 -
用 Java Record 的紧凑规范构造器统一校验与规范化输入,并通过 List.copyOf 防止可变集合破坏对象不变量。100 收藏 -
用 sealed、permits 和模式匹配 switch 建立封闭的 Java 类型层次,逐项覆盖 record 分支,并说明 null、default、模式支配和类型层次变更后的重新编译边界。100 收藏 -
Java ClassValue 适合把按 Class 计算出的派生数据与类型关联起来。本文用一个类型元数据示例说明 get、computeValue、remove 的关系,解释并发计算、异常和何时不该使用 ClassValue。100 收藏