SuperAPI AI 工具集

java-21

编程与开发

查看项目

更新于 10-15 21:41

技能介绍

用途:在编写 Java 21 代码、设计不可变值对象、建模类层次结构或用虚拟线程实现并发 I/O 时加载,提供推荐写法与反模式对照。

主要能力:

  1. record 不可变数据:用紧凑构造器做校验,如 Objects.requireNonNull(id, "id must not be null"),字段自动赋值;可手写 wither 方法(withName、withActive)与工厂方法实现不可变修改。
  2. sealed 类型与模式匹配:sealed interface Shape permits Circle, Rectangle, Triangle,配合 switch 模式匹配实现穷尽分支,编译器校验穷尽性,无需 default;支持守卫条件(when)与 null 分支。
  3. 虚拟线程:Executors.newVirtualThreadPerTaskExecutor() 或 Thread.ofVirtual().name("task-", 0).start(...),适合 I/O 密集并发,阻塞调用可接受。
  4. 结构化并发(Java 21 预览):StructuredTaskScope.ShutdownOnFailure,fork 子任务后 scope.join().throwIfFailed()。
  5. 文本块:""" ... """ 用于 JSON、SQL、HTML,可配合 .formatted(...)。

使用方式:按触发条件在写 Java 21 代码时加载该技能,对照速查表选择写法:不可变 DTO 用 record,校验放紧凑构造器,封闭层次用 sealed interface + permits,并发 I/O 用虚拟线程执行器。

适用场景:DTO 与值对象设计、类层次建模、并发 I/O、多行字符串拼接。

限制:虚拟线程仅用于 I/O 密集型并发,CPU 密集型任务仍应使用平台线程池;结构化并发在 Java 21 中为预览特性;资料未提供安装命令、收费与平台信息。