Java 22
约 2 分钟阅读
- Released: 2024-03-19
- JDK 22 Project链接openjdk.org/projects/jdk/22Released: 2024-03-19 · JDK 22 Project · FFM、未命名变量和多文件源码启动转正,Class-File API 和 Stream Gatherers 首次预览。 · FFM API 转正,可逐步替代 JNI/JNA 场景。笔记:Java 22
核心总结
- FFM、未命名变量和多文件源码启动转正,Class-File API 和 Stream Gatherers 首次预览。
升级关注
- FFM API 转正,可逐步替代 JNI/JNA 场景。
- Class-File API、Stream Gatherers 仍为预览。
示例
Foreign Function & Memory API 正式
import java.lang.foreign.*;
import java.lang.invoke.MethodHandle;
try (Arena arena = Arena.ofConfined()) {
MemorySegment cString = arena.allocateFrom("hello");
}Unnamed Variables & Patterns
try (var _ = lock()) {
// 只需要资源生命周期,不需要变量名
}多文件源码直接运行
java Main.javaJEPs
| JEP | 状态 | 分类 | 标题 | 中文描述 |
|---|---|---|---|---|
| JEP 423 | 正式 | GC/Runtime | Region Pinning for G1 | G1 区域固定,降低 JNI 临界区导致的停顿。 |
| JEP 447 | 预览 | 语言 | Statements before super(...) (Preview) | 构造函数 super 前语句预览。 |
| JEP 454 | 正式 | Panama/向量/原生 | Foreign Function & Memory API | FFM API 转正。 |
| JEP 456 | 正式 | 语言 | Unnamed Variables & Patterns | 未命名变量和模式转正。 |
| JEP 457 | 预览 | 工具/平台 | Class-File API (Preview) | 标准 Class-File API 预览。 |
| JEP 458 | 正式 | 工具/平台 | Launch Multi-File Source-Code Programs | java 直接启动多文件源码程序。 |
| JEP 459 | 第二次预览 | 语言 | String Templates (Second Preview) | 字符串模板第二次预览。 |
| JEP 460 | 第七次孵化 | Panama/向量/原生 | Vector API (Seventh Incubator) | Vector API 第七次孵化。 |
| JEP 461 | 预览 | 库/API | Stream Gatherers (Preview) | Stream Gatherers 预览,允许自定义中间操作。 |
| JEP 462 | 第二次预览 | 并发/Loom | Structured Concurrency (Second Preview) | 结构化并发第二次预览。 |
| JEP 463 | 第二次预览 | 库/API | Implicitly Declared Classes and Instance Main Methods (Second Preview) | 隐式声明类和实例 main 第二次预览。 |
| JEP 464 | 第二次预览 | 并发/Loom | Scoped Values (Second Preview) | Scoped Values 第二次预览。 |
References
- JDK 22 Project链接openjdk.org/projects/jdk/22Released: 2024-03-19 · JDK 22 Project · FFM、未命名变量和多文件源码启动转正,Class-File API 和 Stream Gatherers 首次预览。 · FFM API 转正,可逐步替代 JNI/JNA 场景。笔记:Java 22
- Java 22 Release Notes
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Java 版本笔记 · Java 22
自 Java 9 · 每 6 个月一个版本 · 每 2 年一个 LTS - 每 4 个版本 · Java 11 - Java 17 隔了 3 年, 之后为每隔两年 · Java JEP 与版本变化 · 参考 · Java version history
- Java JEP 与版本变化笔记 · 22
资料来源以 OpenJDK JDK Project 页面和 JEP 页面为主。Java 5–7 主要按 JSR/项目整理;JDK 8 起按代表性 JEP 整理;JDK 10 起列出该版本项目页 Features 中的全部 JEP。 · | 状态 | 含义 | 使用建议 |
参考资料
其他外链14 条
- openjdk.org/projects/jdk/22openjdk.org/projects/jdk/22
- jdk.java.net/22/release-notesjdk.java.net/22/release-notes
- openjdk.org/jeps/423openjdk.org/jeps/423
- openjdk.org/jeps/447openjdk.org/jeps/447
- openjdk.org/jeps/454openjdk.org/jeps/454
- openjdk.org/jeps/456openjdk.org/jeps/456
- openjdk.org/jeps/457openjdk.org/jeps/457
- openjdk.org/jeps/458openjdk.org/jeps/458
- openjdk.org/jeps/459openjdk.org/jeps/459
- openjdk.org/jeps/460openjdk.org/jeps/460
- openjdk.org/jeps/461openjdk.org/jeps/461
- openjdk.org/jeps/462openjdk.org/jeps/462
- openjdk.org/jeps/463openjdk.org/jeps/463
- openjdk.org/jeps/464openjdk.org/jeps/464