java教程技术文章
-
文章 · java教程 | 1个月前 | Java · 异常处理 · 资源管理 · java try-with-resources AutoCloseable close suppressed exception
Java try-with-resources 多个资源时按声明顺序初始化、按相反顺序关闭;本文说明初始化失败、close 异常和 suppressed exception 的判断方法。501 收藏 -
Java 接口同时收到日期、带 T 的时间和带空格的时间时,可以用 DateTimeFormatterBuilder 组织可选秒数,再用多个候选格式器处理真正不同的分隔符。本文给出严格解析、parseBest 和落地边界。501 收藏 -
Java Stream teeing 会把同一批元素交给两个下游收集器,再合并为一个结果。本文用订单统计、Optional 空结果和 groupingBy 分组案例说明适用场景与边界。500 收藏 -
Java Matcher 切换 Pattern 后不会自动回到输入开头。本文用紧凑示例说明 usePattern 如何保留当前位置、为什么旧分组失效,以及它与 reset、region、find(int) 的区别。500 收藏 -
Java jlink 生成的是按根模块和传递依赖裁剪的自定义运行时,不是完整 JDK。本文解释为什么没有 javac、javadoc,如何用 jdeps 和 --list-modules 判断缺少项,以及怎样按需加入模块和服务绑定。500 收藏 -
Files.lines 返回的是带文件资源的 Stream。本文用可运行示例说明 try-with-resources 的关闭边界、异常路径和大文件读取时的验收方法,避免句柄长期占用。499 收藏 -
BigDecimal 的 equals 同时比较数值和 scale,所以 1.0 与 1.00 可能被判定为不同对象;compareTo 只比较数值。本文用金额判断、集合键和输入构造说明两者的边界。499 收藏 -
Java Stream 使用 groupingBy 分组时,默认结果 Map 的键顺序不能作为业务依据。通过 groupingBy 的 mapFactory 传入 LinkedHashMap::new,可以让分组键按首次出现顺序迭代,同时在有序输入和 toList 下保留每组元素顺序。本文还说明并行流、TreeMap 与排序的选择边界。498 收藏 -
文章 · java教程 | 2个月前 | Java教程 · java MethodHandles MethodHandle MethodType 参数适配器 WrongMethodTypeException
MethodHandle 真正难的不是找到方法,而是让调用点、目标句柄和参数适配器拥有可核对的 MethodType。本文用 filterArguments、explicitCastArguments 和 invokeExact 组合一个可运行的调用链,并说明 WrongMethodTypeException 应该在哪一层提前发现。497 收藏 -
Apache Commons Collections 的 MultiValuedMap 用一个键关联一个 Collection,可按需求选择列表型或集合型实现。本文说明 put、putAll、get、asMap 的用法,以及从旧 MultiValueMap 迁移时的注意点。 497 收藏 -
Path.normalize 只按路径名称规则消除 . 和 ..,不会访问文件系统,也就不会检查符号链接。本文用 Java NIO 的 API 对比说明语义差异,并给出需要真实目标时的处理方式。497 收藏 -
解释 Java record 作为 HashMap 键时查询失败的原因,覆盖 equals、hashCode、一致性约束、可变字段与嵌套对象的排查方法。496 收藏 -
Java 模块系统中,exports 解决模块间公开类型的普通访问,opens 解决运行时深反射。本文用 module-info.java 和命令行参数对比两者边界,并说明如何用 to 限定目标模块。496 收藏 -
DoubleSummaryStatistics 记录 NaN 后,count 仍会计入该值,而 min、max、sum 和 average 会受到 NaN 传播影响。本文说明如何识别 NaN、选择过滤策略,并处理空对象与 combine 边界。496 收藏 -
用 Java Stream Gatherer 实现短时间事件窗口:区分固定数量与时间窗口,处理状态、边界、尾窗和不可变快照,并给出可复现的指标评估方法。495 收藏