Java 自从 1996 年首次发布以来,经历了多个版本更新,每个版本都带来了一些新特性、性能提升和语言改进。以下是 Java 各个主要版本的发布时间和主要特性简要总结:
Java 各版本发布时间和主要特性
版本 |
发布时间 |
主要特性 |
JDK 1.0 |
1996-01 |
初始版本,基础 API,AWT,Java Applet 支持。 |
JDK 1.1 |
1997-02 |
JDBC、JavaBeans、反射、RMI 引入。 |
Java SE 版本(2 及之后)
版本 |
发布时间 |
主要特性 |
J2SE 1.2 |
1998-12 |
“Java 2” 标志;引入集合框架、JIT 编译器、安全模型改进。 |
J2SE 1.3 |
2000-05 |
Java Sound API、HotSpot VM、RMI 改进。 |
J2SE 1.4 |
2002-02 |
assert 语句、正则表达式、NIO(新 IO)、异常链。 |
Java SE 5 (1.5) |
2004-09 |
泛型、增强 for 循环、自动装箱、枚举、注解。 |
Java SE 6 |
2006-12 |
脚本语言支持、JDBC 4.0、性能优化、Web 服务 API。 |
Java SE 7 |
2011-07 |
try-with-resources、switch 支持 String、NIO.2 文件 API。 |
Java SE 8 |
2014-03 |
Lambda 表达式、Stream API、默认方法、Optional 类、日期时间 API(java.time)。 |
Java 现代版本(每 6 个月发布一次)
版本 |
发布时间 |
主要特性 |
Java 9 |
2017-09 |
模块系统(Project Jigsaw)、JShell、流增强、接口私有方法。 |
Java 10 |
2018-03 |
局部变量类型推断(var )、应用类数据共享(AppCDS)。 |
Java 11 (LTS) |
2018-09 |
LTS 版本,支持 HttpClient、lambda 本地变量推断、移除 Java EE 模块。 |
Java 12 |
2019-03 |
Switch 表达式(预览)、JVM 常量 API。 |
Java 13 |
2019-09 |
文本块(Text Blocks,预览)、动态 CDS。 |
Java 14 |
2020-03 |
instanceof 模式匹配(预览)、Records(预览)、NullPointerException 增强。 |
Java 15 |
2020-09 |
封闭类(Sealed Classes,预览)、隐藏类(Hidden Classes)。 |
Java 16 |
2021-03 |
Records、模式匹配 for instanceof 正式版、JEP 376(JDK 内部 API 封装)。 |
Java 17 (LTS) |
2021-09 |
Sealed Classes 正式、增强 switch、LTS 支持(长期支持版本)。 |
Java 18 |
2022-03 |
简化 UTF-8 默认编码、Simple Web Server。 |
Java 19 |
2022-09 |
虚拟线程(Virtual Threads,预览)、结构化并发(预览)。 |
Java 20 |
2023-03 |
虚拟线程第二轮预览、Record 模式匹配(预览)。 |
Java 21 (LTS) |
2023-09 |
LTS 版本,虚拟线程正式、模式匹配全面、字符串模板(预览)。 |
哪个版本最适合使用:
- Java 8:依旧在很多项目中使用,兼容性好,稳定。
- Java 11 / 17 / 21:长期支持版本(LTS),适合生产环境。
- Java 21:推荐最新 LTS,尤其是考虑未来支持虚拟线程和现代语言特性。
本文由 程序员拉大锯 原创发布于 阳光沙滩 , 未经作者授权,禁止转载