java教程技术文章
-
Java LocalDateTime 本身没有时区信息,使用显式 ZoneOffset 调用 toInstant 可以得到不依赖机器默认时区的绝对时间点。362 收藏 -
Java 正则中的命名捕获组可以让 group 方法按字段名取值,但名称规则、重复匹配、未参与匹配和空字符串容易混淆。本文用日志字段提取示例说明写法、边界和验收方式。361 收藏 -
多个 Java ModuleLayer 同时存在时,不要用父层、同名模块或类加载器是否相同来猜 reads 关系。本文用 Module.canRead、addReads、findModule 和 findLoader 建立可观察的判断方法。361 收藏 -
介绍 Java 17+ HexFormat 的 formatHex 与 parseHex,演示大小写、分隔符、前后缀、区间转换和非法输入处理。361 收藏 -
Java Pattern.asMatchPredicate 可以把已编译正则转换为 Predicate,直接交给 Stream.filter 做整条字符串筛选。本文对比 asPredicate 的子串查找语义,给出复用 Pattern、处理空输入和选择并行边界的紧凑写法。361 收藏 -
Java WatchService 的 OVERFLOW 表示事件可能已被丢弃,不能把它当成具体文件名处理。本文说明如何按监听目录重扫、用快照和业务索引对账,并正确 reset WatchKey 与关闭 WatchService。360 收藏 -
Java Record 的 final 组件不等于集合不可变。本文用 ArrayList、unmodifiableList 和 List.copyOf 对比可变、只读视图与防御性拷贝,帮助排查 Record 中集合被外部修改的问题。359 收藏 -
解释 Java URI.resolve 对普通相对路径、根相对路径和网络路径引用的处理差异,并给出解析后检查 scheme、host 与 path 的安全封装。359 收藏 -
Java String.splitWithDelimiters 会把文本片段和匹配到的分隔符交替放进结果数组。掌握正则、limit 和尾部空字符串规则,就能避免 split 后再猜分隔符位置。359 收藏 -
Java Vector API 处理非整数倍数组长度时,用 VectorSpecies.indexInRange 生成尾部 Mask,安全完成加载、计算和写回,并对比 loopBound 加标量尾循环的适用边界。358 收藏 -
Java 泛型 record pattern 会先根据选择器的静态类型推断记录类型参数,再把适配后的组件类型交给 var。本文用 Box、显式写法和嵌套模式说明推断链、选型方法及泛型擦除边界。 357 收藏 -
Java TextStyle 为月份提供普通形式与独立形式。本文说明 FULL 与 FULL_STANDALONE、MMMM 与 LLLL 的区别,给出多语言日历示例,并解释复用标签时为何要区分语言、用途和文本长度。356 收藏 -
用 jdeps 找出 Java 应用真正需要的 JDK 模块,再配合 jlink 的模块路径、启动器和裁剪插件生成更小的自定义运行时,并给出服务绑定与反射场景的复核方法。353 收藏 -
Java 24 将 Class-File API 放进 java.base,ClassFileVersion 可以帮助工具识别 class 文件的 major/minor version。本文从一个可运行的小实验开始,演示读取版本、定位高版本拒绝原因,并延伸到 ClassModel、MethodModel 与生产边界。352 收藏 -
以G1统一日志为范围,说明如何按进程与时间窗归并GC记录,区分暂停、并发阶段和安全点等待,并依据资源与对象分配证据进行单项处置及回退。352 收藏