java教程技术文章
-
Java ClassValue 适合替代按 Class 做全局强引用缓存,但它不是类加载器泄漏的万能修复。本文从引用路径、computeValue、remove 和卸载检查四个角度说明正确用法与边界。464 收藏 -
Java MemorySegment 切片应分别检查 offset、newSize 和剩余字节数,核心条件是 newSize 不大于 byteSize() - offset,避免 offset + newSize 的 long 溢出。本文给出可复用封装,并区分空间越界、布局对齐与生命周期异常。155 收藏 -
文章 · java教程 | 6天前 | 异常处理 · 并发编程 · Java教程 · 虚拟线程 · java 结构化并发 StructuredTaskScope JDK 26 子任务取消 Joiner
用当前 JDK 26 的 StructuredTaskScope 和 Joiner 实现子任务失败即取消,讲清 join、get、close 与中断响应边界。165 收藏 -
介绍 Java 虚拟线程配合 Semaphore 限制数据库或外部接口并发的最小写法,覆盖许可数设计、中断、超时、异常释放和验证方法。376 收藏 -
对比 Java Stream Gatherer 与 Collector 的操作位置、状态函数、输出形态、短路和并行边界,并用固定窗口与终态汇总示例给出选型方法。205 收藏 -
用 ObjectInputFilter 和 jdk.serialFilter 为 Java 反序列化输入建立类白名单、拒绝规则与资源上限,并说明全局过滤器和单流过滤器的配置边界。367 收藏 -
Java ReentrantLock 的 tryLock 超时调用会在等待结束时返回 false,被中断时抛出 InterruptedException。本文用一套可回滚的 try/finally 写法区分三条路径,并说明何时释放锁、何时清理资源以及公平锁的边界。190 收藏 -
从大文件上传场景出发,讲清 Java HttpRequest BodyPublisher 的 ofFile、ofInputStream、fromPublisher 与 concat 用法,以及长度、重试、背压和异步边界。488 收藏 -
JDK 21 的 SequencedCollection 为有遇见顺序的集合统一了首尾访问和反向视图。本文从迁移回归入手,说明类型收窄、空集合异常、不可修改实现、reversed 视图及公共 API 兼容处理。183 收藏 -
讲清 Java 模式匹配 switch 如何根据 sealed 层级判断穷尽性,并覆盖 null、default、泛型与 MatchException 的边界。301 收藏 -
用 Java Record 的紧凑规范构造器统一校验与规范化输入,并通过 List.copyOf 防止可变集合破坏对象不变量。100 收藏 -
讲清 Java 虚拟线程改造中任务并发与数据库连接的不同边界,并用连接池、超时和背压保护下游资源。236 收藏 -
Java Stream Gatherer 需要在输入耗尽后输出计数、最后元素或摘要时,应把数据保存在状态对象中,让 integrator 继续消费输入,再由 finisher 向下游推送尾部结果。本文说明 ofSequential 的写法、空流与短路边界,以及何时改用 Gatherers.fold。380 收藏 -
围绕 Java Thread.Builder.OfVirtual 讲清 uncaughtExceptionHandler 的绑定位置、start/unstarted/factory 的继承边界,以及虚拟线程未捕获异常的日志兜底方式。139 收藏 -
用 Java Stream Gatherer 实现短时间事件窗口:区分固定数量与时间窗口,处理状态、边界、尾窗和不可变快照,并给出可复现的指标评估方法。495 收藏