java教程技术文章
-
用 Java NIO FileChannel、临时文件和 checkpoint 实现可恢复的大文件复制,处理短传输、force、源文件变化与最终替换。157 收藏 -
批量导入时,HashMap 的扩容可能把本来平滑的写入变成一段明显停顿。本文从容量计算、阈值变化和并发边界三个方面还原问题,并给出可验证的初始化与替代方案。156 收藏 -
Java record 需要校验或归一化参数时,可以在紧凑构造器中直接处理隐式参数;本文说明 public 访问级别、字段赋值限制、浅不可变集合和反射读取组件的迁移边界。156 收藏 -
Java Stream 收集 Map 时,按键唯一性、重复键策略和并行语义选择 toUnmodifiableMap、带合并函数的 toMap 或 toConcurrentMap,再用 Map.copyOf 发布不可变快照。155 收藏 -
文章 · java教程 | 2星期前 | 线程池 · 并发编程 · 故障排查 · Java教程 · ThreadLocal · java 线程池 Java线程池 threadlocal remove 线程复用
ThreadLocal 在线程池中不会随着任务结束自动清空,工作线程复用会让下一个任务读到上一个任务留下的值。本文用 Java线程池 和可运行示例拆开 get、set、remove 的生命周期,给出 finally 清理、任务装饰和验收边界。153 收藏 -
文章 · java教程 | 4星期前 | 密码学 · Java教程 · Java 25 · HKDF · 密钥派生 · Java 25 KDF Key Derivation Function API HKDF JEP 510 密钥派生
Java 25 新增 Key Derivation Function API,可用 HKDF 从已有密钥材料派生用途隔离的子密钥。本文用可运行示例说明 Extract、Expand、salt、info 和测试验收边界,避免把 KDF 当成加密或哈希替代品。147 收藏 -
文章 · java教程 | 3天前 | httpclient · Java教程 · 网络请求 · InputStream · 资源关闭 · java httpclient 流式读取 InputStream BodyHandlers.ofInputStream 大响应
Java HttpClient 的 BodyHandlers.ofInputStream 适合边收边处理的大响应,但调用方必须消费或关闭返回的 InputStream。本文对比 ofString、ofByteArray、ofFile 和 ofInputStream,给出状态码判断、流复制与资源清理的安全写法。145 收藏 -
用 Java 25 的 java.lang.classfile 读取 class 文件中的方法签名,解释 ClassModel 遍历、按需解析、版本检查和 verify 验收边界,并给出可直接运行的最小示例。143 收藏 -
Java 25 的 JFR CPU-Time Profiling 可在 Linux 上按 CPU 时间采样线程,并通过 jdk.CPUTimeSample 与 jdk.CPUTimeSamplesLost 观察热点和丢样。本文用 jfr、jcmd 与 throttle 参数建立一次可复查的定位流程。142 收藏 -
文章 · java教程 | 2天前 | 性能诊断 · Java Flight Recorder · 方法过滤 · MethodTrace · java JFR MethodTiming MethodTrace
Java JFR 可以用 jdk.MethodTiming 或 jdk.MethodTrace 配合 filter,只记录指定类或方法的执行事件;本文比较两种事件,给出 java 与 jcmd 的短窗口配置,并说明 threshold、stackTrace 和 ExecutionSample 的边界。139 收藏 -
用一个批次编号生成场景拆开 Java IntStream.iterate 的三参数重载,说明 seed 是否入流、hasNext 何时判断、next 是否会多执行,以及 limit 的边界。138 收藏 -
Java Optional 的 orElse 会先求值默认参数,orElseGet 则只在 Optional 为空时调用 Supplier。通过最小实验、参数求值规则和工程边界,快速判断两种写法。138 收藏 -
Java record 的 List 仍能修改,是因为 final 只固定集合引用而不冻结集合内容。本文用引用链说明原因,并比较直接保存、只读视图与 List.copyOf 快照的适用场景。136 收藏 -
Java ExecutorService 关闭时,先用 shutdown 拒绝新任务,再用 awaitTermination 等待;超时后以 shutdownNow 兜底,并正确处理中断和未启动任务。136 收藏 -
文章 · java教程 | 2星期前 | 正则表达式 · 字符串处理 · Java教程 · 异常排查 · Matcher · Java正则 Matcher.matches Matcher.find group 字符串校验
Java Matcher.matches 要求整个输入完全匹配,find 则负责在输入中寻找下一段命中内容,group 用来读取捕获组。本文从订单号整串校验和日志字段提取两个场景出发,拆开三者的边界,并给出可复现的检查代码。134 收藏