java教程技术文章
-
Java CharsetDecoder 处理分段 UTF-8 输入时,UNDERFLOW 不是错误。本文说明如何用 compact 保留未完成多字节前缀,最后一次 decode 传 true,并通过 flush 完成解码状态收尾。398 收藏 -
Java Optional 处理可能为空的查询结果时,可以用 ofNullable 接住 null,再用 orElseThrow 指定异常类型和消息,让调用方得到清晰的失败原因。397 收藏 -
Java CompletableFuture 的超时处理要先选对语义:用 orTimeout 保留超时异常,再用 exceptionally 做回退;如果超时本身就是可接受结果,则用 completeOnTimeout 直接返回默认值。396 收藏 -
用 Java BreakIterator 找到完整字符边界,安全截断组合字符、补充字符和表情序列,并说明它与像素宽度测量的区别。390 收藏 -
Java Primitive Patterns 遇到 int 转 byte 等数值窄化时,不会把信息损失静默变成成功匹配。本文用精确转换、兜底分支和旧 JDK 方案说明如何处理。389 收藏 -
文章 · java教程 | 1天前 | Java · nio · HTTP客户端 · java httpclient HttpRequest BodyPublisher HTTP请求体 BodyPublishers
Java HttpRequest 的请求体不是直接塞入字符串,而是通过 BodyPublisher 提供字节流。本文按数据来源选择 BodyPublishers 工厂,说明 POST、PUT、自定义方法、长度契约和输入流复用边界。386 收藏 -
Java FFM API 用 Arena 管理 MemorySegment 背后的本地内存。本文通过区域所有权模式讲清 confined、shared、auto、global 四类 Arena 的释放时机和线程边界。385 收藏 -
Java Collectors.teeing 可以把同一批 Stream 元素同时交给两个下游 Collector,再用 merger 组合成一个结果对象。本文以订单数量和平均金额为例,说明泛型写法、空数据处理、并行流边界和适用场景。385 收藏 -
Java StringSubstitutor 遇到变量循环引用时,应先区分变量值递归和变量名递归,再按场景关闭递归、拆分配置并在边界捕获异常。本文用变量图、Java 示例和三个复查指标说明处理方法。383 收藏 -
从 dependencies、dependencyManagement、依赖树、BOM 和作用域五个边界说明 Java Maven 依赖管理怎样处理,帮助定位传递依赖冲突并统一多模块版本。382 收藏 -
Java Stream Gatherer 需要在输入耗尽后输出计数、最后元素或摘要时,应把数据保存在状态对象中,让 integrator 继续消费输入,再由 finisher 向下游推送尾部结果。本文说明 ofSequential 的写法、空流与短路边界,以及何时改用 Gatherers.fold。380 收藏 -
Java ZGC 的低暂停目标仍然依赖足够的堆余量。本文从 Xmx、SoftMaxHeapSize、Xms、AlwaysPreTouch 和 ZUncommit 的关系出发,说明如何在突发分配、内存预算和延迟稳定性之间做配置取舍,并用 MXBean 做最小复查。380 收藏 -
Files.readString(path) 默认按 UTF-8 解码;文件实际编码不是 UTF-8 时,应使用带 Charset 参数的重载。本文从乱码根因、显式字符集写法和大文件边界三个方面给出可落地的选择方法。377 收藏 -
介绍 Java 虚拟线程配合 Semaphore 限制数据库或外部接口并发的最小写法,覆盖许可数设计、中断、超时、异常释放和验证方法。376 收藏 -
Java Deflater 的 nowrap 参数决定是否保留 zlib 包装。本文对比 zlib 与 raw deflate 的数据边界、解压入口以及 GZIP、ZIP 的区别,帮助你正确匹配跨端压缩协议。373 收藏