以下是从Java 8到Java 17的各个版本的新特性的详细列表:
Java 8的新特性:
- Lambda表达式和函数式接口。
- 接口的默认方法和静态方法
- 方法引用。
- Stream API。
- 新的日期/时间API。
- 类型注解。
- 重复注解。
- 更好的类型推断。
Java 9的新特性:
- 模块系统(Java Platform Module System,JPMS)。
- JShell(交互式命令行工具)。
- 私有接口方法。
- 改进的Stream API。
- 集合工厂方法。
- 改进的Java编译器。
Java 10的新特性:
- 局部变量类型推断。
- 并行全垃圾回收器(Parallel Full GC)。
- 改进的线程局部变量(Thread-Local Handshakes)。
Java 11的新特性:
- HTTP客户端API。
- 局部变量语法扩展。
- 紧凑的字符串。
- 改进的垃圾回收器(Epsilon GC)。
- 动态类文件常量。
- 改进的启动时间。
Java 12的新特性:
- Switch表达式(Switch Expressions)。
- 紧凑的Number格式(Compact Number Formats)。
- 改进的垃圾回收器(Shenandoah GC)。
Java 13的新特性:
- 文本块(Text Blocks)。
- 改进的垃圾回收器(ZGC)。
Java 14的新特性:
- 改进的Switch表达式。
- 实例of操作符(Instanceof Pattern Matching)。
- 改进的垃圾回收器(ZGC)。
Java 15的新特性:
- 改进的垃圾回收器(ZGC)。
- 隐式的引用类(Hidden Classes)。
- 延迟编写(Sealed Classes)。
- 改进的文本块。
Java 16的新特性:
- 基于模式的匹配(Pattern Matching)。
- Records(记录类)。
- 改进的垃圾回收器(ZGC)。
- 过度性能监视工具(JEP 394)。
Java 17的新特性:
- Sealed Classes(密封类)的扩展。
- 基于模式的Switch语句(Pattern Matching for Switch)。
- 改进的垃圾回收器(ZGC)。
- Unix套接字(Unix Domain Sockets)支持。