下面列举一些 Java 17 中的新特性:
- 改进的 switch 语句:允许使用多行代码块、支持使用表达式作为分支条件、支持匹配某些类型的模式。
- 增强的异常处理:可以在 catch 块中捕获多个异常类型,也可以将 catch 块中的异常声明为 final 或 effectively final。
- 私有接口方法:允许创建私有方法来支持公共方法,避免重复代码。
- 类型模式匹配增强:通过 instanceof 关键字,可以在 switch 语句中使用类型模式匹配,进一步简化代码。
- 改进的垃圾回收器:G1 垃圾回收器默认启用,支持 NUMA 架构和大堆内存,提升了性能。
- Vector API:引入了向量数据类型和相关操作,可以在 SIMD 硬件指令集上执行并发计算。
- 可垃圾回收的线程堆栈:线程堆栈现在可以被垃圾回收器扫描,因此可以更好地管理堆栈内存并减少内存占用。
- HTTP/2 客户端:新的 HttpClient API 默认支持 HTTP/2 协议,并提供了更简单易用的接口。
- 移除 Applet 相关类:Java 17 中移除了 Applet、相关接口和类库,这是 Java 编程语言的演化过程中的一步。