java教程技术文章
-
Java Arrays.compareUnsigned 可按无符号字节的字典序比较两个 byte 数组。本文说明完整数组与范围重载、三态返回值、前缀边界和排序中的使用方式。453 收藏 -
区分 Java 泛型记录的静态类型推断与组件值匹配,比较显式实参、var、通配符和嵌套模式,说明未经检查转换及空值边界。452 收藏 -
文章 · java教程 | 2星期前 | 异常处理 · 工程实践 · java IOException 目录遍历 walkFileTree FileVisitor postVisitDirectory
Java walkFileTree 的 postVisitDirectory 不只在目录正常遍历后调用,目录迭代提前结束时也会带着 IOException 进入该回调。本文用最小 Visitor 说明 exc 的判断、继续与终止的取舍,以及批量文件任务如何保存部分结果并支持恢复。450 收藏 -
writeUTF 使用 modified UTF-8 并用两字节保存长度,编码后超过 65535 字节就会抛出 UTFDataFormatException。本文说明如何预判限制,并给出长文本改用长度加 UTF-8 字节的写读方案。450 收藏 -
Java Map.computeIfAbsent 的映射函数执行期间不应修改当前 Map。本文从外层写回时机、同键递归和不同 Map 实现的异常差异出发,给出纯计算、分阶段写入和回滚复查的排障手册。450 收藏 -
从停顿、吞吐和进程内存余量三个维度比较 G1 与 ZGC,给出 Xmx 估算、统一压测参数、GC 日志指标和灰度回退清单。446 收藏 -
虚拟线程适合承载大量阻塞 I/O,但连接池仍是有限资源。本文给出 Java 21+ 的执行器选择、连接借用代码、锁边界和排障方法。444 收藏 -
Java 26 迁移不要只看编译是否通过。本文把弃用 API 清单拆成已移除、标记待移除和内部 API 三类,再用 jdeprscan、jdeps 与 javac --release 26 建立可追踪的构建门禁。441 收藏 -
用 Java Stream 的 groupingBy 和 maxBy 按部门分组并保留工资最高的 Employee,说明 Optional、并列最大值、空输入和并行流边界。441 收藏 -
Java FFM 映射 C 结构体参数时,先用 MemoryLayout 描述字段、填充和对齐,再用 FunctionDescriptor 组合函数签名;本文区分结构体值、结构体指针与 Arena 生命周期。437 收藏 -
Java 22+ 可用 FileChannel.map 返回 MemorySegment,以 long 尺寸映射超过 2GB 的文件,并由 Arena 确定解除映射时机。本文从用户任务出发,给出只读映射、窗口切片、并行读取、性能检查和空文件、跨窗记录、文件截断等边界处理方法。435 收藏 -
Java record 紧凑构造器可在隐式字段赋值前完成 null 检查、空白清理、大小写统一与业务不变量校验,让 accessor、equals 和序列化看到稳定状态。435 收藏 -
文章 · java教程 | 3星期前 | Java · 异步编程 · Java HttpClient BodyHandlers.fromLineSubscriber Flow.Subscriber 异步响应 按行消费
Java HttpClient 可通过 BodyHandlers.fromLineSubscriber 将文本响应逐行交给 Flow.Subscriber。本文给出带 request(1) 背压、异步处理、状态码分流和异常取消的完整实现。433 收藏 -
文章 · java教程 | 1星期前 | 字符集 · Java教程 · HTTP客户端 · java httpclient charset BodyHandlers ofByteArray ofString
Java HttpClient 的 BodyHandlers.ofByteArray 适合保留原始响应字节,ofString 适合文本,ofString(Charset) 适合协议或业务已明确字符集的文本。本文用响应资产、字符集和内存边界三个角度说明如何选择,并补充流式读取、文件落盘和敏感数据日志的安全边界。429 收藏 -
Java dayOfWeekInMonth 可定位每月第几个指定星期,但宽松规则可能产生跨月日期。本文提供 YearMonth 与 Optional 包装示例,说明第五次不存在时的返回方式及预约界面的状态处理。426 收藏