java教程技术文章
-
Java NIO 的 PathMatcher 可以由 FileSystem.getPathMatcher 创建,用 glob 规则匹配 Path 的字符串表示。本文从常见模式、目录遍历、路径层级和大小写边界出发,整理一套可直接放进文件筛选代码的写法。246 收藏 -
Java AtomicStampedReference 把对象引用和 int stamp 原子地绑定在一起。本文用 A→B→A 的场景说明只比较引用为什么会漏掉 ABA,再用 get 与 compareAndSet 同时校验引用身份和 stamp,给出更新版本号及使用边界。245 收藏 -
Java Arrays.mismatch 会返回两个数组的首个差异位置;完全相同返回 -1,一个数组只是另一个数组的前缀时返回较短数组长度。本文用整数组、范围重载和对象数组示例说明如何读取这个结果。244 收藏 -
Java 服务变慢时,使用 jcmd Thread.print -l 获取线程状态、锁信息和栈帧,按 BLOCKED、WAITING、TIMED_WAITING 与 RUNNABLE 分组,再结合锁拥有者和多次采样定位真正的阻塞。241 收藏 -
用 Java HttpRequest.BodyPublishers.ofInputStream 延迟打开请求体,处理重复发送时重新提供 InputStream,以及文件流和 HttpClient 生命周期边界。238 收藏 -
文章 · java教程 | 4天前 | 命令行 · Java · 字符集 · java Console.charset stdin.encoding stdout.encoding Charset.defaultCharset
Java 控制台字符集不能只看 Charset.defaultCharset()。本文区分 Console.charset、stdin.encoding、stdout.encoding 和 System.console() 为空的边界,给出终端、IDE 与重定向环境的处理方案。238 收藏 -
文章 · java教程 | 2星期前 | 异步编程 · Java教程 · CompletableFuture · 进程管理 · java completablefuture process ProcessHandle onExit 异步进程
Java Process.onExit() 返回 CompletableFuture,可以把子进程结束接入异步链,而不必让当前线程一直阻塞在 waitFor。本文说明退出码、标准输出、错误输出、超时和 destroy 之间的职责边界。 233 收藏 -
介绍 Java Gradle 项目如何使用 libs.versions.toml 集中维护依赖版本,并结合 BOM、平台和 dependency constraints 处理版本对齐与解析排查。232 收藏 -
Java WeekFields 用每周起始日和首周最少天数定义周口径。本文从固定参数、Locale、ISO 常量和跨年字段四个角度说明配置方法,并用年初样例区分 weekOfYear 与 weekBasedYear。231 收藏 -
本文说明 Java FileChannel.transferTo 为什么可能只传输部分字节,并给出按返回值推进 position、处理返回 0 和区分非阻塞目标的可靠循环方案。229 收藏 -
用 Java Instant.truncatedTo 按分钟截断时间戳,理解支持单位、UTC 截断方向、比较方式与负时间戳边界。229 收藏 -
Java URI 保留原始查询时应读取 getRawQuery,而不是 getQuery。本文用最小示例说明百分号编码、加号、重复参数、null 与空查询的区别,并给出转发、签名和缓存键场景的选择边界。229 收藏 -
从 plain、opaque、acquire/release 到 volatile,梳理 Java VarHandle 的内存序选择方法,并用发布协议验证共享数据可见性。226 收藏 -
从 G1 GC 日志的事件行、Eden/Survivor/Old/Humongous 区域变化和阶段耗时入手,区分 Young、Mixed、Full GC 与 evacuation failure,建立暂停原因的分析顺序。221 收藏 -
Java 模式 switch 不会让 null 自动落入普通类型模式。本文用 case null 和 case null, default 说明空值分支、default 兜底及非法组合边界,并给出一组最小反向验证清单。220 收藏