java教程技术文章
-
Java Primitive Patterns 遇到 int 转 byte 等数值窄化时,不会把信息损失静默变成成功匹配。本文用精确转换、兜底分支和旧 JDK 方案说明如何处理。389 收藏 -
介绍 Java 虚拟线程配合 Semaphore 限制数据库或外部接口并发的最小写法,覆盖许可数设计、中断、超时、异常释放和验证方法。376 收藏 -
文章 · java教程 | 2天前 | 数据校验 · api设计 · Java教程 · 参数校验 Java record API DTO Jakarta Validation 紧凑规范构造器 跨字段校验
Java Record 作为 API DTO 时,不要把所有校验都塞进构造器。本文按字段格式、Record 自身不变量、跨字段业务规则和外部依赖四类边界,说明紧凑规范构造器、Jakarta Validation 与应用服务各自适合承担什么校验。370 收藏 -
Java 25 StructuredTaskScope 可把一组相关子任务纳入同一生命周期:失败、调用方中断或整体超时时统一取消未完成任务,并通过中断协作完成收尾。370 收藏 -
用 ObjectInputFilter 和 jdk.serialFilter 为 Java 反序列化输入建立类白名单、拒绝规则与资源上限,并说明全局过滤器和单流过滤器的配置边界。367 收藏 -
Java Vector API 处理非整数倍数组长度时,用 VectorSpecies.indexInRange 生成尾部 Mask,安全完成加载、计算和写回,并对比 loopBound 加标量尾循环的适用边界。358 收藏 -
Java 泛型 record pattern 会先根据选择器的静态类型推断记录类型参数,再把适配后的组件类型交给 var。本文用 Box、显式写法和嵌套模式说明推断链、选型方法及泛型擦除边界。 357 收藏 -
Java 自定义 JFR Event 的提交条件应分成 isEnabled、shouldCommit 和 commit 三层:先确认有活动录制,再在 end 后判断时长阈值,最后只提交值得保留的事件。325 收藏 -
用 Java Vector API 对 float 数组执行批量乘加,介绍 SPECIES_PREFERRED、fromArray、intoArray、loopBound、标量尾部和掩码尾部的完整写法。319 收藏 -
Java 记录模式可以在 instanceof 和 switch 中递归拆解嵌套 record。本文从逐级访问器迁移到嵌套模式,说明 var 推断、null、泛型与失败分支,并给出紧凑的回归检查清单。308 收藏 -
JDK 25 的 import module 可一次引入模块已导出包中的 public 顶层类型,并遵循更具体导入优先、同名冲突显式消歧等规则。299 收藏 -
Java Compact Object Headers 将 HotSpot 64 位对象头从传统的 mark word/class word 布局收敛到 64 位,本文解释压缩类指针、锁、GC 转发、JDK 25/27 启用方式与迁移边界。293 收藏 -
从输入信任边界、ObjectInputFilter 白名单与资源上限,到 JSON/Protocol Buffers 等显式格式迁移,说明 Java 序列化如何安全收紧并保留兼容性。278 收藏 -
通过一次支付处理中状态被误判为失败的复盘,演示如何用 Java sealed interface、record 与模式匹配 switch 固定结果集合、获得编译期穷尽检查,并设计同模块扩展边界。270 收藏 -
Java 虚拟线程适合承载大量等待型任务,但不应代替网络资源限流。本文用 Semaphore 包住 HttpClient 请求边界,说明许可归还、超时、连接能力和重试参数如何分开配置。265 收藏