java教程技术文章
-
JDK 26 的预览 API PEMEncoder 可以通过 withEncryption 加密并输出私钥类对象。本文说明不可变实例、支持类型、密码数组和预览编译参数的实际边界。114 收藏 -
List调用 remove(1) 时,Java 会优先匹配 remove(int),删除下标为 1 的元素;如果要按值删除整数,应显式使用 Integer.valueOf(1)。本文再补充 removeIf、不可修改列表和 subList 的边界。 114 收藏 -
Java Gatherer 中只有在 integrator 不会因业务条件提前停止输入时,才适合用 Integrator.Greedy 表达契约。本文从返回值、下游信号、并行合并和边界场景说明判断方法。112 收藏 -
用 Java ScopedValue 传递请求上下文时,绑定位置、线程边界和版本 API 是最容易出错的地方。本文给出配置示例与排查清单。107 收藏 -
Java 21 的 List.reversed() 返回反向有序视图,不是副本。本文用 ArrayList 和只读 List 对比说明 set、remove、addFirst 是否会写回原集合,以及什么时候必须显式复制。105 收藏 -
Java ScopedValue 的内层绑定只在嵌套动态作用域中遮蔽外层值,退出后自动恢复。本文用 where、run、get、isBound 和 orElse 说明嵌套读取、异常边界、线程继承与不可变上下文的使用方法。104 收藏 -
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 收藏