Java 14
约 2 分钟阅读
- Released: 2020-03-17
- JDK 14 Project链接openjdk.org/projects/jdk/14Released: 2020-03-17 · JDK 14 Project · Switch Expressions 转正,Records、instanceof 模式匹配、Text Blocks 继续预览,CMS 与 Pack200 移除。笔记:Java 14
核心总结
- Switch Expressions 转正,Records、instanceof 模式匹配、Text Blocks 继续预览,CMS 与 Pack200 移除。
升级关注
- CMS 和 Pack200 已移除;依赖 CMS 参数或 Pack200 工具的构建/运行脚本会失败。
- Helpful NPE 对排障很有价值。
示例
Records Preview / instanceof Pattern Preview
// javac --enable-preview --release 14 Demo.java
record User(String name, int age) {}
Object value = new User("wener", 18);
if (value instanceof User user) {
System.out.println(user.name());
}Helpful NullPointerExceptions
java -XX:+ShowCodeDetailsInExceptionMessages DemoJEPs
| JEP | 状态 | 分类 | 标题 | 中文描述 |
|---|---|---|---|---|
| JEP 305 | 预览 | 语言 | Pattern Matching for instanceof (Preview) | instanceof 模式匹配预览,匹配后直接绑定变量。 |
| JEP 343 | 孵化 | 工具/平台 | Packaging Tool (Incubator) | jpackage 孵化,用于生成平台安装包。 |
| JEP 345 | 正式 | GC/Runtime | NUMA-Aware Memory Allocation for G1 | G1 支持 NUMA 感知内存分配。 |
| JEP 349 | 正式 | 工具/平台 | JFR Event Streaming | JFR 支持事件流式消费。 |
| JEP 352 | 正式 | 库/API | Non-Volatile Mapped Byte Buffers | 支持非易失内存映射字节缓冲。 |
| JEP 358 | 正式 | 库/API | Helpful NullPointerExceptions | NPE 显示更具体的空值来源。 |
| JEP 359 | 预览 | 语言 | Records (Preview) | Record 数据载体类预览。 |
| JEP 361 | 正式 | 语言 | Switch Expressions (Standard) | switch 表达式正式。 |
| JEP 362 | 废弃 | 工具/平台 | Deprecate the Solaris and SPARC Ports | 废弃 Solaris 和 SPARC port。 |
| JEP 363 | 移除/禁用 | GC/Runtime | Remove the Concurrent Mark Sweep (CMS) Garbage Collector | 移除 CMS GC。 |
| JEP 364 | 正式 | GC/Runtime | ZGC on macOS | ZGC 支持 macOS。 |
| JEP 365 | 正式 | GC/Runtime | ZGC on Windows | ZGC 支持 Windows。 |
| JEP 366 | 废弃 | 库/API | Deprecate the ParallelScavenge + SerialOld GC Combination | 废弃 ParallelScavenge 加 SerialOld 组合。 |
| JEP 367 | 移除/禁用 | 工具/平台 | Remove the Pack200 Tools and API | 移除 Pack200。 |
| JEP 368 | 第二次预览 | 语言 | Text Blocks (Second Preview) | 文本块第二次预览。 |
| JEP 370 | 孵化 | Panama/向量/原生 | Foreign-Memory Access API (Incubator) | 外部内存访问 API 孵化,是 Panama 早期能力。 |
References
- JDK 14 Project链接openjdk.org/projects/jdk/14Released: 2020-03-17 · JDK 14 Project · Switch Expressions 转正,Records、instanceof 模式匹配、Text Blocks 继续预览,CMS 与 Pack200 移除。笔记:Java 14
- Java 14 Release Notes
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Java 版本笔记 · Java 14
自 Java 9 · 每 6 个月一个版本 · 每 2 年一个 LTS - 每 4 个版本 · Java 11 - Java 17 隔了 3 年, 之后为每隔两年 · Java JEP 与版本变化 · 参考 · Java version history
- Java JEP 与版本变化笔记 · 14
资料来源以 OpenJDK JDK Project 页面和 JEP 页面为主。Java 5–7 主要按 JSR/项目整理;JDK 8 起按代表性 JEP 整理;JDK 10 起列出该版本项目页 Features 中的全部 JEP。 · | 状态 | 含义 | 使用建议 |
参考资料
其他外链18 条
- openjdk.org/projects/jdk/14openjdk.org/projects/jdk/14
- jdk.java.net/14/release-notesjdk.java.net/14/release-notes
- openjdk.org/jeps/305openjdk.org/jeps/305
- openjdk.org/jeps/343openjdk.org/jeps/343
- openjdk.org/jeps/345openjdk.org/jeps/345
- openjdk.org/jeps/349openjdk.org/jeps/349
- openjdk.org/jeps/352openjdk.org/jeps/352
- openjdk.org/jeps/358openjdk.org/jeps/358
- openjdk.org/jeps/359openjdk.org/jeps/359
- openjdk.org/jeps/361openjdk.org/jeps/361
- openjdk.org/jeps/362openjdk.org/jeps/362
- openjdk.org/jeps/363openjdk.org/jeps/363
- openjdk.org/jeps/364openjdk.org/jeps/364
- openjdk.org/jeps/365openjdk.org/jeps/365
- openjdk.org/jeps/366openjdk.org/jeps/366
- openjdk.org/jeps/367openjdk.org/jeps/367
- openjdk.org/jeps/368openjdk.org/jeps/368
- openjdk.org/jeps/370openjdk.org/jeps/370