java教程技术文章
-
本文说明 Java FileChannel.transferTo 为什么可能只传输部分字节,并给出按返回值推进 position、处理返回 0 和区分非阻塞目标的可靠循环方案。229 收藏 -
使用 Java HttpClient 与 CompletableFuture 封装可取消的异步 GET 重试:只重试暂时性异常和指定状态码,加入退避、最大次数与请求超时,并把外层取消传播到当前 HTTP 交换或等待任务。212 收藏 -
对比 Java Stream Gatherer 与 Collector 的操作位置、状态函数、输出形态、短路和并行边界,并用固定窗口与终态汇总示例给出选型方法。205 收藏 -
分代 ZGC 没有一个可以单独代表晋升压力的万能数字。本文用 GC 日志、JFR 和业务基线,判断老年代存活量、回收频率与堆余量是否共同恶化,并给出调参和排查边界。200 收藏 -
Java 24 的 Class-File API 可通过 CodeTransform 处理方法 Code 属性,再用 ClassTransform.transformingMethodBodies 提升到整类转换。本文以删除 nop 指令为例,说明模型层级、完整代码、按方法过滤和属性边界。199 收藏 -
文章 · java教程 | 22小时前 | Java · 异常处理 · AutoCloseable Java try-with-resources suppressed exception 关闭顺序 getSuppressed
Java try-with-resources 会按资源初始化的反序关闭。try 主体先失败时,关闭异常进入 suppressed;主体正常时,第一个关闭异常成为主异常。本文用多资源示例梳理完整判断方法。197 收藏 -
Java ReentrantLock 的 tryLock 超时调用会在等待结束时返回 false,被中断时抛出 InterruptedException。本文用一套可回滚的 try/finally 写法区分三条路径,并说明何时释放锁、何时清理资源以及公平锁的边界。190 收藏 -
文章 · java教程 | 1小时前 | 配置管理 · Java · Spring Boot · 故障排查 · Java教程 · spring boot actuator @ConfigurationProperties 配置属性绑定 PropertySource
Spring Boot 配置属性绑定失败时,沿着失败字段、PropertySource 优先级、canonical key、类型转换和校验边界逐层排查,并用 configprops 与最小配置确认最终来源。184 收藏 -
文章 · java教程 | 5天前 | 异常处理 · 并发编程 · Java教程 · 虚拟线程 · java 结构化并发 StructuredTaskScope JDK 26 子任务取消 Joiner
用当前 JDK 26 的 StructuredTaskScope 和 Joiner 实现子任务失败即取消,讲清 join、get、close 与中断响应边界。165 收藏 -
Java MemorySegment 切片应分别检查 offset、newSize 和剩余字节数,核心条件是 newSize 不大于 byteSize() - offset,避免 offset + newSize 的 long 溢出。本文给出可复用封装,并区分空间越界、布局对齐与生命周期异常。155 收藏 -
Java 25 的 Stable Values 预览 API 可把手写 volatile、synchronized 和两次判空收敛为线程安全的一次性延迟初始化。本文说明改写方法、并发语义与采用边界。155 收藏 -
文章 · java教程 | 3天前 | 并发 · 超时控制 · 异步编程 · Java教程 · CompletableFuture · java completablefuture TimeoutException orTimeout completeOnTimeout
completeOnTimeout 会在超时后用兜底值正常完成,orTimeout 会以 TimeoutException 异常完成。本文从业务语义、下游处理、共享 Future 与任务取消边界出发,给出选择方法和代码示例。152 收藏 -
Java MemorySegment 的跨线程访问范围由关联 Arena 决定:Arena.ofConfined 只允许所有者线程访问,Arena.ofShared 允许任意线程访问。本文给出 JDK 22 后的最小写法、切片边界和迁移检查。132 收藏 -
JEP 465 撤回后,已有 STR 与自定义模板处理器代码应按用途迁移到稳定 API,并保留格式化、国际化与安全边界。123 收藏 -
Java 25 的 StructuredTaskScope 可以在 open 时通过 withTimeout 配置整个作用域的统一超时。本文用一个双子任务示例说明超时起点、TimeoutException、取消中断和 close 等待边界,并补充旧版 joinUntil 的差异。118 收藏