java教程技术文章
-
Java 21 引入 SequencedMap 后,可以用统一的首尾操作和 reversed() 视图处理有明确遇见顺序的键值集合。本文用 LinkedHashMap 演示 firstEntry、lastEntry、putFirst、putLast 与倒序遍历的差异,并标出 Java 17 及更早版本的兼容边界。287 收藏 -
用一个等待外部资源的 Java 并行任务说明 ForkJoinPool.managedBlock 的补偿线程机制、ManagedBlocker 契约与线程池关闭验收。288 收藏 -
Java 25 正式加入 import module 声明,可以按模块导入其导出的顶层类型,减少多个通配包导入。本文用 java.base 示例说明可见范围、命名冲突和 classpath 场景下的边界。373 收藏 -
Locale.forLanguageTag 会按 BCP 47 规则解析并规范化语言标签。本文从缓存键异常复盘出发,解释大小写、非法子标签、Unicode 扩展和 toString/toLanguageTag 的边界,并给出可验收的修复方式。119 收藏 -
用 Java ModuleLayer 为插件建立独立模块层,串起 Configuration、类加载器和查找入口,并说明解析失败、类加载冲突与卸载边界。341 收藏 -
Java Pattern.splitAsStream 会丢弃末尾空字段,且流式终结操作期间不能修改输入。本文用可运行代码解释这个行为、输入边界和安全写法。385 收藏 -
文章 · java教程 | 6小时前 | 线程池 · 并发编程 · 故障排查 · Java教程 · ThreadLocal · java 线程池 Java线程池 threadlocal remove 线程复用
ThreadLocal 在线程池中不会随着任务结束自动清空,工作线程复用会让下一个任务读到上一个任务留下的值。本文用 Java线程池 和可运行示例拆开 get、set、remove 的生命周期,给出 finally 清理、任务装饰和验收边界。153 收藏 -
文章 · java教程 | 7小时前 | Java教程 · Java 反射 · 方法句柄 · 类型适配 · 并发基础 · java MethodHandles MethodHandle MethodType 参数适配器 WrongMethodTypeException
MethodHandle 真正难的不是找到方法,而是让调用点、目标句柄和参数适配器拥有可核对的 MethodType。本文用 filterArguments、explicitCastArguments 和 invokeExact 组合一个可运行的调用链,并说明 WrongMethodTypeException 应该在哪一层提前发现。497 收藏 -
用 Java HttpClient 做外部接口调用时,连接复用是否生效不能靠猜。本文从请求超时、sendAsync 调用链和响应体处理入手,给出可观察的验证方法与边界。387 收藏 -
Java 文本块适合保存多行模板,但代码缩进可能混入结果。本文用 String.stripIndent 拆开共同缩进、空行和制表符边界,并对比 indent 的换行处理,给出可运行的判断方法。163 收藏 -
批处理任务常常不是一次屏障就能解决:参与者会动态加入,也可能提前退出。本文用 Java Phaser 写一个三阶段批处理示例,核对 register、arrive、onAdvance 和 forceTermination 的职责与边界。449 收藏 -
Java ServiceLoader 适合把接口与实现解耦,但真正容易出错的是提供者发现、延迟实例化和单个坏实现对迭代器的影响。本文用一个 Formatter 服务拆开 uses、provides、Provider.type 与 Provider.get 的边界。265 收藏 -
文章 · java教程 | 1天前 | 标准库 · Java · 异常处理 · 数据编码 · java base64 padding IllegalArgumentException Base64.Decoder
用 Java Base64.Decoder 对比带 padding、无 padding 和非法尾部输入,解释 decode 的异常边界,并给出 String、byte[] 与 ByteBuffer 入口的选择方法。178 收藏 -
文章 · java教程 | 1天前 | Java教程 · MethodHandles · 模块系统 · java 私有成员 privateLookupIn MethodHandles.Lookup 模块边界
Java MethodHandles.Lookup 不是绕过权限的万能钥匙。本文用 privateLookupIn、findVirtual 和 lookupModes 拆开私有成员访问的调用链,并验证同模块、跨模块和模块未开放时的边界。376 收藏 -
用 Java EnumMap 保存订单状态转移规则,把合法迁移、非法迁移和默认分支放进一张可检查的状态表,避免订单流程散落在多处 if-else 中。282 收藏