从JDK 17到JDK 21:Java核心特性概述
引言
从2021年的JDK 17到2023年的JDK 21,Java完成了多项革命性改进。作为两个长期支持版本(LTS),它们代表了现代Java开发的核心方向。本文将对比分析这五年间的重要更新,通过代码实例揭示版本升级带来的开发效率与性能提升。
一、版本演进全景图
版本 | 发布时间 | 特性里程碑 |
---|---|---|
JDK 17 | 2021/09 | 密封类、模式匹配、伪随机数生成器 |
JDK 18 | 2022/03 | 简单Web服务器、UTF-8默认编码 |
JDK 19 | 2022/09 | 虚拟线程预览、结构化并发 |
JDK 20 | 2023/03 | Scoped Values、Record模式增强 |
JDK 21 | 2023/09 | 虚拟线程正式发布、分代式ZGC |
二、六大核心特性演进与代码对比
1. 并发模型革命
JDK 19 (预览) → JDK 21 (正式)
// JDK 19 虚拟线程预览(需启用--enable-preview)
ExecutorService executor = Executors.newVirtualThreadExecutor();
// JDK 21 正式API
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
executor.submit(() -> System.out.println(Thread.currentThread()));
}
优势: