java教程技术文章
-
用一个可复查的缓存刷新场景,说明 Java ReentrantReadWriteLock 从写锁降级到读锁的正确顺序、异常释放边界与验证方法。381 收藏 -
用 Java 的任务完成队列按完成顺序消费 Future,区分任务异常与队列取空,并在 finally 中可靠关闭线程池。165 收藏 -
文章 · java教程 | 5天前 | 字符集 · Java教程 · 异常排查 · CharsetDecoder · ByteBuffer · 乱码 ByteBuffer Java教程 Java CharsetDecoder 字符解码
Java CharsetDecoder 默认可能用替换字符掩盖非法字节。本文用 REPORT 模式捕获 MalformedInputException,拆解 ByteBuffer 的 underflow/overflow 边界,并给出可核对解码结果的最小示例。265 收藏 -
文章 · java教程 | 5天前 | Java · 并发与底层 · 反射调用 · java astype MethodHandles MethodHandle WrongMethodTypeException
Java MethodHandle.asType 会返回一个拥有新签名的适配句柄。本文用一个静态方法调用实验拆开参数转换、返回值转换、invokeExact 校验和 WrongMethodTypeException 的边界。446 收藏 -
Java 21 的 SequencedCollection.reversed 返回反向视图,而不是复制集合。本文用 ArrayList 和 LinkedHashSet 验证首尾操作、修改传播与使用边界。417 收藏 -
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教程 | 6天前 | Java教程 · Java 反射 · 方法句柄 · 类型适配 · 并发基础 · java MethodHandles MethodHandle MethodType 参数适配器 WrongMethodTypeException
MethodHandle 真正难的不是找到方法,而是让调用点、目标句柄和参数适配器拥有可核对的 MethodType。本文用 filterArguments、explicitCastArguments 和 invokeExact 组合一个可运行的调用链,并说明 WrongMethodTypeException 应该在哪一层提前发现。497 收藏 -
用 Java HttpClient 做外部接口调用时,连接复用是否生效不能靠猜。本文从请求超时、sendAsync 调用链和响应体处理入手,给出可观察的验证方法与边界。387 收藏 -
Java 文本块适合保存多行模板,但代码缩进可能混入结果。本文用 String.stripIndent 拆开共同缩进、空行和制表符边界,并对比 indent 的换行处理,给出可运行的判断方法。163 收藏