Java 自 1995 年发布以来,经历了多个版本的更新,每个版本都引入了新的特性和改进。以下是从 Java 1.0 到 Java 17(截至我所掌握的最新信息)的主要新特性概览:
Java 1.0 (1996)
- 初始版本,包含了Java的基础特性。
Java 1.1 (1997)
- 内部类
- JavaBeans
- JDBC
- RMI
Java 1.2 (1998)
- Swing GUI组件库
- Java Plug-in
- Collections Framework
- JIT 编译器
Java 1.3 (2000)
- HotSpot JVM
- RMI/IIOP 组合
Java 1.4 (2002)
- 正则表达式
- 异常链
- NIO(新输入/输出)
- Java Web Start
- Logging API
Java 5 (2004)
- 泛型
- 注解
- 自动装箱/拆箱
- 枚举
- 可变参数
- foreach 循环
Java 6 (2006)
- 改进的 Web 服务支持
- JDBC 4.0
- 更多的性能改进和bug修复
Java 7 (2011)
- try-with-resources
- 钻石操作符(类型推断)
- NIO.2 文件系统 API
- Fork/Join 框架
- 动态语言支持(InvokeDynamic)
Java 8 (2014)
- Lambda 表达式
- Stream API
- 新的日期时间 API
- 接口中的默认方法和静态方法
- Nashorn JavaScript 引擎
Java 9 (2017)
- 模块系统(Project Jigsaw)
- JShell(交互式Java REPL)
- 更多的 API 改进和新特性
Java 10 (2018)
- 局部变量类型推断(var)
- Application Class-Data Sharing
Java 11 (2018)
- HTTP Client API(标准化)
- 新的垃圾收集器:ZGC 和 Epsilon
- String、Files、Optional 类的新方法
Java 12 (2019)
- Switch 表达式(预览)
- Shenandoah 垃圾收集器
- JVM 常量 API
Java 13 (2019)
- Text Blocks(多行字符串)(预览)
- Reimplement the Legacy Socket API
Java 14 (2020)
- Pattern Matching for instanceof(预览)
- Records(预览)
- Helpful NullPointerExceptions
- Switch 表达式(标准)
Java 15 (2020)
- Sealed Classes(预览)
- Text Blocks(标准)
- ZGC 和 Shenandoah GC 成为生产特性
- Hidden Classes
Java 16 (2021)
- Pattern Matching for instanceof(第二轮预览)
- Records(标准)
- Sealed Classes(第二轮预览)
- Vector API(孵化器)
Java 17 (2021)
- 封闭类(正式特性)
- Pattern Matching for instanceof(正式特性)
- 新的垃圾收集器:G1 和 Parallel GC
- 去除实验性 AOT 和 JIT 编译器
这是从 Java 1.0 到 Java 17 的主要特性的简要概述。每个版本都标志着Java语言和平台的重要发展步骤,引入了对开发人员和企业用户都很重要的新功能和改进。随着Java的不断发展,后续版本(如 Java 18 和更高版本)也引入了更多新特性。