java教程技术文章
-
Java AttributedCharacterIterator 的关键不是逐字符判断属性,而是用 getRunStart 和 getRunLimit 取得当前属性连续区间,再按半开区间读取文本。本文说明单属性、属性集合和全部属性遍历时的边界写法。150 收藏 -
Java Pattern.split 遇到连续、首尾分隔符时,关键在于 limit 参数:默认 limit=0 会丢弃尾部空字符串,负数 limit 才能保留完整字段。本文用静态边界说明和可复制示例讲清选择方法。149 收藏 -
说明 Java AES/GCM 中 AEAD 标签的单位、拆分与拼接方式,以及标签校验失败时的正确处理边界。147 收藏 -
文章 · java教程 | 1星期前 | Java · 集合 · 资源管理 · Stream · Java教程 · supplier Java Stream Files.lines Stream生命周期 重复遍历
Java Stream 不是可反复读取的集合视图:一次终止操作后,继续使用同一个 Stream 可能抛出 IllegalStateException。本文从昂贵数据源的生命周期出发,说明何时保存集合、何时保存 Supplier>,并给出 Files.lines 的资源关闭写法。 146 收藏 -
ExecutorCompletionService 把任务提交和结果消费分开,适合多个 Callable 并发执行后按实际完成顺序取结果。本文用最小 Java 示例说明 take、poll、Future.get 的配合方式,以及异常、超时和线程池关闭边界。146 收藏 -
Java Introspector 默认会沿继承链分析 Bean。本文用 stopClass 截断父类和 Object 的属性来源,并给出 PropertyDescriptor 核对方法与边界清单。145 收藏 -
Java KeyStore 可以同时保存私钥、对称密钥和受信任证书。本文用 isKeyEntry、isCertificateEntry 和 getEntry 区分三类 Entry,并说明各自应该读取的内容与保护参数边界。144 收藏 -
Java 虚拟线程迁移可保留同步阻塞代码,但要把任务线程、入口准入和下游并发限制分开。本文给出执行器接入片段与异常、资源和关闭边界。141 收藏 -
用一个小型任务协调器讲清 Java 虚拟线程执行器的创建边界、正常关闭、超时收敛和 Future 取消,帮助区分执行器生命周期与单任务中断。140 收藏 -
Java Matcher 判断可选分组时,要在成功匹配后区分 null、空字符串和非空内容。用备注行解析器说明命名捕获组、位置判断、状态误用和业务集成。140 收藏 -
Java ZIP 文件系统通过 jar URI 和 create=true 创建不存在的 ZIP 归档。本文给出可直接改造的 NIO 示例,并说明只读、追加、目录创建和关闭时机。137 收藏 -
JDK 26 的 JEP 516 让 AOT 缓存中的 Java 对象可以用与 GC 无关的格式顺序加载。本文按训练、组装、生产三个阶段说明怎样减少启动与预热工作,以及缓存失配时应该重建的边界。134 收藏 -
Java Semaphore 用许可数限制同时进入资源区的任务数量。本文围绕 acquire、release 与 tryAcquire 超时,说明数据库连接、文件句柄或外部 API 配额的并发控制写法,并解释公平性选择与许可泄漏边界。133 收藏 -
Java MemorySegment 的跨线程访问范围由关联 Arena 决定:Arena.ofConfined 只允许所有者线程访问,Arena.ofShared 允许任意线程访问。本文给出 JDK 22 后的最小写法、切片边界和迁移检查。132 收藏 -
Java Cleaner 适合为资源释放提供 GC 兜底,但清理动作不能持有被注册对象本身。本文用静态状态类、Cleanable 和 AutoCloseable 组织一份可落地的写法,并说明显式 clean、重复清理和阻塞动作的边界。128 收藏