java教程技术文章
-
Java Files.walk 返回的是惰性 Stream,它可能持有目录遍历资源,不能像普通集合一样长期放着不管。本文说明如何用 try-with-resources 包住完整消费范围,区分空结果、遍历异常和关闭边界,并整理一个可复用的安全封装。 180 收藏 -
虚拟线程适合承载大量阻塞 I/O,但连接池仍是有限资源。本文给出 Java 21+ 的执行器选择、连接借用代码、锁边界和排障方法。444 收藏 -
文章 · java教程 | 4天前 | 异步编程 · Java教程 · CompletableFuture · 进程管理 · java completablefuture process ProcessHandle onExit 异步进程
Java Process.onExit() 返回 CompletableFuture,可以把子进程结束接入异步链,而不必让当前线程一直阻塞在 waitFor。本文说明退出码、标准输出、错误输出、超时和 destroy 之间的职责边界。 233 收藏 -
Java Commons Codec 可以直接消费 InputStream 计算文件摘要,不必先把整个文件读入内存。本文比较 DigestUtils 的便捷入口、File/Path 重载和 MessageDigest 组合写法,给出大文件场景的选择清单。370 收藏 -
Java StringUtils.defaultIfBlank 会把 null、空串和仅空白视为需要回退;defaultIfEmpty 只处理 null 与空串。本文用边界表、代码和迁移清单说明如何选择。201 收藏 -
Java Commons Compress 解压归档时,不能直接把 ArchiveEntry 的名称拼到目标目录后写盘。本文用 Path.normalize 和 startsWith 建立目录边界,再补上目录项、不可读项、流式复制和资源限制。165 收藏 -
用 Java Commons Compress 读取 tar 时,核心是以 TarArchiveInputStream 为当前归档流,用 getNextEntry() 逐项定位,再读取当前项字节。本文补上目录、编码、路径安全、资源关闭和大文件处理边界。274 收藏 -
Java MultiValuedMap的get返回关联集合视图,修改会作用于原映射。通过标签编辑示例区分实时视图、草稿副本、只读快照和显式提交的边界。205 收藏 -
Apache Commons Collections 的 MultiValuedMap 用一个键关联一个 Collection,可按需求选择列表型或集合型实现。本文说明 put、putAll、get、asMap 的用法,以及从旧 MultiValueMap 迁移时的注意点。 497 收藏 -
Java Commons CSV 中,空字符串是已映射列存在但值为 "";缺失列则要结合 isMapped、isSet 和 isConsistent 判断。本文给出安全读取顺序和不规则行处理方式。285 收藏 -
通过自动表头映射按名称读取Java CSV字段,比较手动与位置绑定,并说明逐条导入、重复表头、空值、资源关闭和事务边界。127 收藏 -
Java StringSubstitutor 遇到变量循环引用时,应先区分变量值递归和变量名递归,再按场景关闭递归、拆分配置并在边界捕获异常。本文用变量图、Java 示例和三个复查指标说明处理方法。383 收藏 -
用 Apache Commons IO Tailer 跟踪日志轮转时,关键是理解 fileRotated 与 fileNotFound 的先后边界,并用 Tailer.Builder 配置编码、轮询间隔、从末尾读取和重新打开策略。298 收藏 -
Java Apache Commons IO 的 Tailer 用 end 参数或 Builder 的 setTailFromEnd 控制起始位置:false 会从文件开头读取,true 会跳到当前末尾等待新增内容。本文结合日志补读、实时监听和文件轮转说明两者区别。415 收藏 -
Java StringSubstitutor 可以用 ${变量名:-默认值} 为未提供的变量设置回退文本。本文说明默认分隔符、空值边界、自定义分隔符和严格解析的选择。304 收藏