Oracle JDK 历史版本更新明细 (1996 - 2026)

本文档整理了自 1996 年以来 Java (JDK) 的所有主要版本更新(基于 Oracle 官方 "What's New" 及发行说明文档、归档文档翻译整理),从语言特性、JVM (GC 演进)、核心类库、以及弃用/移除四个维度分类说明 Java 的技术演进。

1. 版本发布模式与路线图 (Support Roadmap)

  • 发布周期: 自 Java 9 起,每 6 个月发布一个功能版本(Feature Release)。
  • LTS 版本: 长期支持版本(如 8, 11, 17, 21, 25)提供数年的生产级支持。
  • 官方路线图: Oracle Java SE Support Roadmap

2. 早期奠基阶段 (JDK 1.0 - 1.4)

JDK 1.0 (1996-01-23)

  • 主要更新: Java 语言的第一个公开稳定版本。包含基础类库(Applet, AWT, 网络, 输入输出等)。

JDK 1.1 (1997-02-19)

  • 语言特性:
    • 引入 内部类 (Inner Classes)
  • 核心类库:
    • 引入 JDBC
    • RMI
    • JavaBeans
    • AWT 事件模型重构
  • JVM:
    • 引入 JIT (Just-In-Time) 编译器初稿。

J2SE 1.2 / 1.3 / 1.4 (1998 - 2002)

  • 1.2 (1998):
    • 引入 集合框架 (Collections)
    • Swing UI
    • strictfp 关键字
  • 1.3 (2000):
    • HotSpot JVM 成为标准配置
    • 引入 JavaSound
    • JPDA
  • 1.4 (2002):
    • 引入 NIO (New I/O)
    • 正则表达式
    • Logging API
    • assert 关键字

3. 现代化转型与稳健期 (JDK 5 - 8)

Java SE 5.0 (2004-09-30) —— 语言大变革

  • 语言特性:
    • 泛型 (Generics)
    • 注解 (Annotations)
    • 枚举 (Enums)
    • 自动装箱/拆箱
    • 变长参数 (Varargs)
    • 增强型 For 循环
  • 核心类库:
    • 引入 java.util.concurrent (并发包)、Scanner、StringBuilder
  • JVM:
    • 引入虚拟机监控与管理 API (JMX)
  • 官方明细: J2SE 5.0 New Features

Java SE 6 "Mustang" (2006-12-11) —— 稳健增强

  • 语言特性:
    • 引入 Compiler API (允许程序内调用 javac)。
  • 核心类库:
    • 脚本支持: 引入脚本引擎 API (JSR 223),内置 Rhino JavaScript 引擎。
    • 数据库: JDBC 4.0 (支持自动加载驱动)。
    • Web 服务: 集成 JAX-WS 2.0、JAXB 2.0。
    • 桌面增强: 系统托盘 (System Tray)、启动画面 (Splash Screen) 支持。
  • JVM (GC 演进):
    • 引入偏向锁 (Biased Locking) 优化
    • JDK 6u14 首次引入 G1 GC 实验版
  • 官方明细: Java SE 6 Features and Enhancements

Java SE 7 (2011-07-28) —— 性能跃迁

  • 语言特性:
    • Project Coin (Switch 支持字符串、Try-with-resources)。
  • JVM (GC 演进):
    • G1 垃圾回收器正式版 (Production Ready),目标替代 CMS
  • 核心类库:
    • NIO.2 (Files/Path)
    • Fork/Join 并行框架
  • 官方明细: Java SE 7 Enhancements

Java SE 8 (LTS) (2014-03-18) —— 黄金版本

  • 语言特性:
    • Lambda 表达式
    • 方法引用
    • 接口默认方法
  • 核心类库:
    • Stream API
    • 新的日期时间 API (java.time)
    • Optional 类
  • JVM:
    • 永久代 (PermGen) 彻底移除,改用元空间 (Metaspace)
  • 官方明细: What's New in JDK 8

4. 模块化与快速迭代时代 (JDK 9 - 16)

Java SE 9 (2017-09-21) —— 架构重构

  • 核心架构:
    • 模块化系统 (Project Jigsaw)
  • JVM (GC 演进):
    • G1 成为默认垃圾回收器 (取代 Parallel GC)
    • CMS 开始被弃用
  • 核心类库:
    • JShell (REPL)
    • 集合工厂方法 (List.of())
    • 改进的 Process API
  • 官方明细: What's New in JDK 9

Java SE 10 (2018-03-20)

  • 语言特性:
    • 局部变量类型推断 (var) (JEP 323)
  • JVM (GC 演进):
    • G1 引入并行全 GC (Parallel Full GC) (JEP 307),提升巨型对象处理性能
  • 核心类库:
    • Optional 新增 orElseThrow() 方法
    • 新增创建不可变集合的 API (List.copyOf, Set.copyOf, Map.copyOf)
    • Stream Collectors 新增 toUnmodifiableList/Set/Map 方法
  • 安全:
    • 引入 Root 证书 (JEP 319)
    • TLS 支持 FFDHE 机制 (RFC 7919)
    • TLS 会话哈希和扩展主密钥扩展支持 (RFC 7627)
  • 工具:
    • javadoc 支持多个样式表 (--add-stylesheet)
    • javadoc 新增 --overridden-methods 选项
    • javadoc 新增 {@summary} 内联标签
    • 移除 javah 工具 (JEP 313)
    • 移除 policytool 工具
  • 官方明细: JDK 10 Release Notes

Java SE 11 (LTS) (2018-09-25) —— 现代基石

  • 语言特性:
    • Lambda 参数支持 var 声明 (JEP 323)
    • 启动单文件源代码程序 (JEP 330)
  • JVM (GC 演进):
    • 引入 ZGC (实验性) (JEP 333),可扩展的低延迟 GC,暂停时间不超过 10ms
    • 引入 Epsilon GC (实验性) (JEP 318),No-Op 垃圾回收器
    • 低开销堆分析 (JEP 331),通过 JVMTI 访问
    • 基于嵌套的访问控制 (JEP 181)
  • 核心类库:
    • HTTP Client API 标准化 (JEP 321),支持 HTTP/2 和 WebSocket
    • Unicode 10 支持 (JEP 327)
    • 新增 Collection.toArray(IntFunction) 方法
    • Locale 数据更新至 Unicode CLDR v33
  • 安全:
    • TLS 1.3 实现 (JEP 332)
    • Curve25519 和 Curve448 密钥协商 (JEP 324)
    • ChaCha20 和 Poly1305 加密算法 (JEP 329)
    • Brainpool EC 支持 (RFC 5639)
    • 增强 KeyStore 机制
    • SunMSCAPI 新增 RSASSA-PSS 签名支持
    • Kerberos 5 支持 AES 加密与 HMAC-SHA2 (RFC 8009)
  • 移除:
    • 移除 JavaFX (独立下载)
    • 移除 Java Mission Control (独立下载)
    • 移除 Applet 和 Web Start (部署栈)
    • 移除 JRE 和 Server JRE (仅提供 JDK)
  • 官方明细: JDK 11 Release Notes

Java SE 12 - 14 (2019-2020)

  • 核心更新:
    • JDK 12:
      • Switch 表达式 (预览) (JEP 325)
      • Shenandoah GC (实验性)
      • 紧凑数字格式化 API (NumberFormat.getCompactNumberInstance)
      • ZGC 并发类卸载
      • Unicode 11 支持
      • JVM 常量 API (JEP 334)
      • Linux 支持 POSIX_SPAWN 进程启动
      • 新增 JFR 安全事件
      • TLS 支持 ChaCha20-Poly1305 加密套件
      • 移除 finalize 方法 (FileInputStream, FileOutputStream, ZipFile, Inflator, Deflator)
      • 移除 javac 对 Java 6 的支持
    • JDK 13:
      • 文本块 (Text Blocks, 预览) (JEP 355)
      • Switch 表达式 (第二次预览) (JEP 354)
      • ZGC 内存回收优化 (JEP 351),支持返回未使用内存给操作系统
      • 动态 CDS 归档 (JEP 350)
      • Unicode 12.1 支持
      • 新增 FileSystems.newFileSystem(Path) 方法
      • ByteBuffer 新增批量 get/put 方法
      • 支持 X25519 和 X448 椭圆曲线 TLS 密钥交换
      • TLS 支持无状态会话恢复 (RFC 5077)
      • SunPKCS11 升级支持 PKCS#11 v2.40
      • SunMSCAPI 支持 Windows CNG (Cryptography Next Generation)
      • 新增 Reiwa (令和) 日本年号
      • 移除 AWT toolkit 系统属性
      • 移除 Runtime trace 方法
    • JDK 14:
      • Switch 表达式转正
      • Records (预览) (JEP 359)
      • 完全移除 CMS 回收器 (JEP 363)
      • ZGC 支持 Windows 和 macOS (JEP 364, JEP 365)
      • JFR 事件流 API (JEP 349)
      • G1 NUMA 感知内存分配 (JEP 345)
      • Parallel GC 性能优化
      • Unicode 13 支持
      • 会计货币格式支持
      • 弱命名曲线默认禁用
      • 移除 Pack200 工具和 API (JEP 367)
      • 移除 java.security.acl API
      • Thread.suspend/resume 方法标记为待移除
  • 官方地址: [JDK Release Notes Index](https://www.oracle.com/java/technologies/javase/jdk-relnote s-index.html)

Java SE 15 (2020-09-15) —— GC 里程碑

  • JVM (GC 演进):
    • ZGC 和 Shenandoah GC 转正 (Production Ready)
  • 语言特性:
    • 文本块 (Text Blocks) 转正 (JEP 378)
    • 密封类 (Sealed Classes, 预览) (JEP 360)
  • 核心类库:
    • 隐藏类 (Hidden Classes) (JEP 371),用于框架动态生成类
    • CharSequence 新增 isEmpty 方法
    • Unicode 13.0 支持
    • SocketFlow 支持 SO_INCOMING_NAPI_ID (Linux 高性能网卡)
    • TreeMap 优化 putIfAbsent/compute 等方法性能
    • JMX 支持配置第三个本地端口
  • 安全:
    • jarsigner 新增 -revCheck 选项支持证书吊销检查
    • SunJCE 支持 SHA-3 基于 Hmac 算法
    • TLS 支持 certificate_authorities 扩展
    • 支持 Kerberos 跨域 MSSFU 扩展
  • 工具:
    • jstatd 新增 -r 选项指定 RMI 端口
    • jcmd 新增 GC.heap_dump gz 选项支持压缩堆转储
    • jhsdb debugd 模式新增 RMI 端口配置选项
  • 移除:
    • 彻底移除 Nashorn JavaScript 引擎 (JEP 372)
    • 移除 RMI 静态存根编译器 (rmic)
    • 移除 Comodo 和 DocuSign 过期根证书
  • 官方明细: JDK 15 Release Notes

Java SE 16 (2021-03-16)

  • 语言特性:
    • Records 转正 (JEP 395)
    • instanceof 模式匹配转正 (JEP 394)
    • 密封类 (第二次预览) (JEP 397)
  • 核心类库:
    • 外部链接器 API (孵化) (JEP 389),提供纯 Java 访问原生代码
    • 外部内存访问 API (第三次孵化) (JEP 393)
    • Unix 域套接字支持 (JEP 380)
    • Vector API (孵化) (JEP 338),表达向量计算
    • 添加强封装 JDK 内部 API (JEP 396),默认 --illegal-access=deny
    • Stream 新增 toList() 方法
    • InvocationHandler 新增 invokeDefault 方法支持代理默认方法
    • DateTimeFormatter 新增日周期支持 (pattern 'B')
    • macOS 支持 UserDefinedFileAttributeView
  • JVM:
    • ZGC 并发栈处理 (JEP 376),暂停时间降至数百微秒
    • G1 并发内存回收,offload 内存返回给操作系统的开销
    • 弹性 Metaspace (JEP 387),优化类元数据内存使用
    • Ideal Graph Visualizer 现代化
    • 新增 jdk.ObjectAllocationSample JFR 事件 (默认启用)
  • 安全:
    • jarsigner 支持 RSASSA-PSS 和 EdDSA 签名
    • SUN/SunRsaSign/SunEC 支持 SHA-3 签名算法
    • jarsigner 保留 POSIX 文件权限和 symlink 属性
    • keytool 新增 -trustcacerts 和 -keystore 选项
    • SunPKCS11 支持 SHA-3 相关算法
    • TLS 支持 EdDSA 签名算法
    • 改进证书链处理和 ALPN 编码
  • 工具:
    • jpackage 转正 (JEP 392),打包独立 Java 应用
  • 移除:
    • 移除实验性 AOT 工具 (jaotc) 和 Graal JIT 编译器
    • 移除 Apple 遗留构建支持
    • 移除 JFR 流媒体事件
    • 移除 java.awt.PeerFixer
  • 官方地址: JDK 16 Release Notes

5. 极致并发与模式匹配 (JDK 17 - 21)

Java SE 17 (LTS) (2021-09-14) —— 长期支持版

  • 语言特性:
    • 密封类 (Sealed Classes) 转正 (JEP 409)
    • Switch 模式匹配 (预览) (JEP 406)
  • JVM:
    • 强封装 JDK 内部 API (JEP 396 最终实施)
    • macOS/AArch64 支持 (JEP 391),支持 Apple Silicon M1
    • Ideal Graph Visualizer 现代化,改进 C2 编译器可视化工具
    • 新增类层次分析 (CHA) 实现,优化内联决策
    • 统一日志支持异步日志刷新 (-Xlog:async)
    • 实验性编译器 Blackholes 支持,用于基准测试
  • 核心类库:
    • 伪随机数生成器 (PRNG) 增强 (JEP 356),新增 LXM 算法和可跳跃 PRNG
    • 外部函数与内存 API (孵化) (JEP 412),替代 JNI 调用原生库
    • 十六进制格式化与解析工具 (HexFormat)
    • 控制台字符集 API,返回控制台实际字符集
    • 增强的多播支持,DatagramSocket 直接加入多播组
    • 新增 java.time.InstantSource 接口
    • macOS 支持 UserDefinedFileAttributeView 扩展属性
    • 新增 native.encoding 系统属性
  • 客户端:
    • 新 macOS 渲染管线 (JEP 382),支持 Apple Metal API
    • FileSystemView 新增 getSystemIcon API 支持大图标
  • 安全:
    • keytool -genkeypair 新增 -signer 选项支持指定签名者
    • SunJCE 支持 AES Key Wrap (KW/KWP 模式)
    • SunPKCS11 新增配置属性管理原生资源
    • SunPKCS11 支持 ChaCha20-Poly1305 加密
    • TLS 扩展支持系统属性配置
    • Kerberos 支持 permitted_enctypes 回退
  • 工具:
    • javadoc 错误消息显示源代码行
    • javadoc 新增"新 API"页面和改进的"已弃用"页面
    • javadoc 包摘要页显示"相关包"
  • 官方明细: JDK 17 Release Notes

Java SE 18 - 20 (2022-2023)

  • 核心更新:
    • JDK 18:
      • 默认 UTF-8 编码 (JEP 400)
      • 简单 Web 服务器 (jwebserver) (JEP 408)
      • 核心反射使用 Method Handles 重新实现 (JEP 416)
      • Internet 地址解析 SPI (JEP 418)
      • javadoc 新增 @snippet 标签 (JEP 413)
      • Vector API (第三次孵化) (JEP 417)
      • 外部函数与内存 API (第二次孵化) (JEP 419)
      • Switch 模式匹配 (第二次预览) (JEP 420)
      • ZGC、SerialGC、ParallelGC 支持字符串去重 (JEP 192)
      • 可配置 Card Table 大小
      • G1 堆区域(Regions)大小上限提升至 512MB
      • 新增 jdk.FinalizerStatistics JFR 事件
      • SunPKCS11 支持部分 PKCS#11 v3.0 API
      • Subject 新增 current 和 callAs 方法 (替代已弃用的 getSubject/doAs)
      • KeyStore 新增 getAttributes 方法
      • cacerts 从 JKS 迁移到无密码 PKCS12
      • jarsigner 和 keytool 新增 -version 选项
    • JDK 19:
      • 虚拟线程 (Virtual Threads, 预览) (JEP 425)
      • 结构化并发 (孵化) (JEP 428)
      • 记录模式 (预览) (JEP 405)
      • Switch 模式匹配 (第三次预览) (JEP 427)
      • 外部函数与内存 API (预览) (JEP 424)
      • Vector API (第四次孵化) (JEP 426)
      • Unicode 14.0 支持
      • 新增 stdout.encoding 和 stderr.encoding 系统属性
      • HTTPS 支持 Kerberos 通道绑定令牌
      • DateTimeFormatter 新增本地化模式格式
      • HashMap/HashSet 等新增预分配工厂方法
      • Linux/AArch64 支持 PAC-RET 保护
      • 自动生成 CDS 归档 (-XX:+AutoCreateSharedArchive)
      • Windows KeyStore 支持本地机器位置
      • TLS/DTLS 签名方案自定义 API
      • XML 新增 XPath 处理限制
      • ThreadGroup 降级 (无法显式销毁)
    • JDK 20:
      • 作用域变量 (Scoped Values, 孵化) (JEP 429)
      • 记录模式 (第二次预览) (JEP 432)
      • Switch 模式匹配 (第四次预览) (JEP 433)
      • 外部函数与内存 API (第二次预览) (JEP 434)
      • Vector API (第五次孵化) (JEP 438)
      • 虚拟线程 (第二次预览) (JEP 436)
      • 结构化并发 (第二次孵化) (JEP 437)
      • Unicode 15.0 支持
      • G1 新增 Remark 和 Cleanup JFR MXBean
      • 新增 jdk.InitialSecurityProperty 和 jdk.SecurityProviderService JFR 事件
      • Poly1305 和 ChaCha20 支持 AVX512 内联函数
      • javac 新增 lossy-conversions 警告
      • TLS/DTLS 命名组自定义 API
      • jmod 新增 --compress 选项
      • DTLS 恢复使用 HelloVerifyRequest 消息
      • 移除 Thread.suspend/resume/stop (改为抛出 UnsupportedOperationException)
      • 改进 G1 并发优化线程控制
      • URL 构造函数弃用
  • 官方地址: JDK Release Notes Index

Java SE 21 (LTS) (2023-09-19) —— 虚拟线程时代

  • 语言特性:
    • 虚拟线程 (Virtual Threads) 转正 (JEP 444)
    • 记录模式 (Record Patterns) 转正 (JEP 440)
    • Switch 模式匹配转正 (JEP 441)
    • 字符串模板 (预览) (JEP 430)
    • 未命名模式和变量 (预览) (JEP 443),使用 _ 表示
    • 未命名类和实例 main 方法 (预览) (JEP 445)
  • 核心类库:
    • 顺序集合 (Sequenced Collections) (JEP 431),统一访问首尾元素和反向迭代
    • 键封装机制 API (JEP 452),用于保护对称密钥
    • 外部函数与内存 API (第三次预览) (JEP 442)
    • 结构化并发 (预览) (JEP 453)
    • 作用域变量 (预览) (JEP 446)
    • Vector API (第六次孵化) (JEP 448)
    • Runtime.exec 和 ProcessBuilder 支持日志记录
    • System.exit 和 Runtime.exit 日志记录
    • Math 和 StrictMath 新增 clamp 方法
    • String 新增 indexOf 范围搜索方法
    • Character 新增 Emoji 属性方法
    • String 和 Pattern 新增 splitWithDelimiters 方法
    • StringBuilder 和 StringBuffer 新增 repeat 方法
    • HttpClient 实现 AutoCloseable
    • 支持 GB18030-2022 标准
    • Pattern 支持 Emoji 二元属性
  • JVM (GC 演进):
    • 引入 分代 ZGC (Generational ZGC) (JEP 439),实验性,分离年轻代和老年代
    • G1 最后 resort 全 GC 移动巨型对象,避免因连续空间不足导致 OOM
    • 新增 JFR view 命令 (JDK-8306703),70+ 预定义视图
  • 安全:
    • 增强 OCSP、证书和 CRL 获取超时
    • 新增 jdk.tls.maxHandshakeMessageSize 和 jdk.tls.maxCertificateChainLength 系统属性
    • TLS 支持 certificate_authorities 扩展
    • jarsigner 支持 -providerPath 选项
    • ktab 新增选项提供非默认 salt
  • 工具:
    • 动态加载 Agent 时打印警告 (JEP 451)
  • 官方明细: JDK 21 Release Notes

6. 前瞻性演进 (JDK 22 - 26)

Java SE 22 - 24 (2024-2025)

  • 核心更新:
    • JDK 22:
      • 外部函数与内存 API (FFM API) 转正
      • 未命名变量与模式
      • 无类型 switch (预览)
      • 字符串模板 (第二次预览)
      • 流收集器 (预览)
      • 类文件 API (预览)
      • 结构化并发 (第二次预览)
      • 作用域变量 (第二次预览)
      • Vector API (第七次孵化)
      • G1 区域锁定
      • Unicode 15.1 支持
    • JDK 23:
      • ZGC 默认启用分代模式 (JEP 474),非分代模式标记为待废弃
      • Markdown 文档注释支持 (JEP 467)
      • 基本类型模式匹配 (预览) (JEP 455)
      • 模块导入声明 (预览) (JEP 476)
      • 灵活构造函数体 (第二次预览) (JEP 482)
      • 未命名类和实例 main 方法 (第三次预览) (JEP 477)
      • 类文件 API (第二次预览) (JEP 466)
      • 流收集器 (第二次预览) (JEP 473)
      • 结构化并发 (第三次预览) (JEP 480)
      • 作用域变量 (第三次预览) (JEP 481)
      • Vector API (第八次孵化) (JEP 469)
      • Graal JIT 编译器可用
      • javadoc 支持 JavaScript 模块
      • 并行 GC 采用新的全 GC 算法
      • 新增 Parallel GC Full GC 算法 (与 Serial GC 和 G1 相同)
      • 支持 KeychainStore-ROOT Keystore
      • 增强 Krb5 大小写敏感检查
      • javac 新增 -Xlint:dangling-doc-comments 选项
      • 改进 javadoc 结构导航
      • 提供 JAXP 严格配置文件模板
      • 增强 SunPKCS11 遗留机制检查
      • 新增 jdk.SerializationMisdeclaration JFR 事件
      • WatchService 支持配置最大事件数
      • Instant 新增 until 方法支持 Duration 计算
      • Console 新增带 Locale 参数的方法
      • java.security.debug 支持 +timestamp 和 +thread 选项
    • JDK 24:
      • 灵活构造函数体转正 (JEP 493)
      • 基本类型模式匹配 (第二次预览) (JEP 488)
      • 模块导入声明 (第二次预览) (JEP 494)
      • 简单源文件和实例 main 方法 (第四次预览) (JEP 495)
      • 灵活构造函数体 (第三次预览) (JEP 492)
      • 流收集器转正 (JEP 485)
      • 类文件 API 转正 (JEP 484)
      • 作用域变量 (第四次预览) (JEP 487)
      • Vector API (第九次孵化) (JEP 489)
      • 结构化并发 (第四次预览) (JEP 499)
      • 紧凑对象头 (实验性) (JEP 450),减少对象头大小至 64 位
      • G1 Late Barrier 扩展 (JEP 475),简化屏障实现
      • AOT 类加载和链接 (JEP 483),提升启动时间
      • 虚拟线程同步无阻塞 (JEP 491),消除 synchronized 导致的阻塞
      • 密钥派生函数 API (预览) (JEP 478)
      • 抗量子 ML-KEM 密钥封装机制 (JEP 496),FIPS 203 标准
      • 抗量子 ML-DSA 数字签名算法 (JEP 497),FIPS 204 标准
      • 准备限制 JNI 使用 (JEP 472),发布警告
      • 永久禁用安全管理器 (JEP 486)
      • 移除 ZGC 非分代模式 (JEP 490)
      • 警告 sun.misc.Unsafe 内存访问方法 (JEP 498)
      • Unicode 16.0 支持
      • Reader 新增 of(CharSequence) 方法
      • Process 新增 waitFor(Duration) 方法
      • jar 工具新增 -k/--keep-old-files 选项
      • jar 工具新增 -C/--dir 选项指定解压目录
      • 新增 VirtualThreadSchedulerMXBean 监控虚拟线程调度器
      • jcmd 新增 Thread.vthread_scheduler 和 Thread.vthread_pollers 命令
      • 安全属性文件支持 include 指令
      • RSASSA-PSS 签名标准哈希和 MGF 算法文档化
      • SunPKCS11 支持 CKM_AES_CTS 机制
      • TLSv1.3 可配置会话票据数量
      • TLS 密码套件支持通配符匹配禁用
      • javadoc 新增外部规范摘要页
      • jpackage 支持 WiX Toolset v4 和 v5
  • 官方地址: JDK Release Notes Index

Java SE 25 (LTS) (2025-09-16) —— 下一个里程碑

  • 语言特性:
    • 基本类型模式匹配 (第三次预览) (JEP 507)
    • 模块导入声明转正 (JEP 511)
    • 紧凑源文件和实例 main 方法 (JEP 512),未命名类转正
    • 灵活构造函数体转正 (JEP 513)
  • JVM (GC 演进):
    • G1 优化 Remembered Set,通过共享 Card Sets 减少内存开销 (JDK-8343782)
  • JVM 性能:
    • 紧凑对象头 (Compact Object Headers) 转正 (JEP 519),不再需要实验性选项
    • AOT 命令行优化 (JEP 514),简化 AOT 缓存创建
    • AOT 方法分析 (JEP 515),提升 warmup 性能
  • 核心类库:
    • 结构化并发 (第五次预览) (JEP 505)
    • 作用域变量转正 (JEP 506)
    • 稳定值 (Stable Values, 预览) (JEP 502)
    • Vector API (第十次孵化) (JEP 508)
    • PEM 编码 (预览) (JEP 470),支持密钥和证书 PEM 格式
    • 密钥派生函数 API (JEP 510)
    • CharSequence 和 CharBuffer 新增 getChars 方法
    • 新增 stdin.encoding 系统属性
    • HttpClient 新增限制响应字节数的方法
    • HttpResponse 新增 connectionLabel 方法
    • ZIP FileSystem 支持只读模式
    • ForkJoinPool 实现 ScheduledExecutorService
    • CompletableFuture 和 SubmissionPublisher 使用 ForkJoinPool common pool
    • Inflater 和 Deflater 实现 AutoCloseable
  • 安全:
    • java.security.debug 默认启用时间戳和线程详情
    • 新增 SHAKE128-256 和 SHAKE256-512 MessageDigest 算法
    • 支持 TLS Keying Material Exporters (RFC 5705, RFC 8446)
    • 支持 HKDF 在 SunPKCS11 中
    • 支持基于 TLS 范围禁用签名方案
  • 监控:
    • JFR CPU-Time 分析 (实验性) (JEP 509)
    • JFR 协作采样 (JEP 518)
  • 工具:
    • 移除 Graal JIT (实验性功能)
    • javadoc 增强结构化导航
    • javac 改进注释处理
  • 官方明细: JDK 25 Release Notes

Java SE 26 (2026-03-17) —— 最新版

  • 核心更新:
    • HTTP/3 支持: HTTP Client API 原生支持 HTTP/3 (JEP 517)
    • JVM: AOT 对象缓存 (Ahead-of-Time Object Caching) 增强
    • 移除: 彻底移除 Applet API (JEP 504)
  • 官方明细: The Arrival of Java 26

7. 垃圾回收器 (GC) 演进总结表

GC 名称引入版本 (Exp)转正版本 (Prod)默认版本关键里程碑
SerialJDK 1.0JDK 1.0-客户端模式默认
ParallelJDK 1.4JDK 1.4Pre-JDK 9吞吐量优先,JDK 9 之前默认
CMSJDK 1.4JDK 1.4-JDK 9 弃用,JDK 14 移除
G1JDK 6u14JDK 7u4JDK 9区域化回收,当前最通用默认 GC
ZGCJDK 11JDK 15-JDK 21 引入分代,JDK 23 默认分代
ShenandoahJDK 12JDK 15-低延迟,JDK 25 引入分代

8. 常用官方资源