Java 17,它于2021年9月发布。Java 17的主要新功能包括:
1. 封装JDK内部API:JDK的内部API被封装起来,不再对外部开放。这是为了提高Java的安全性和维护性。
2. 新的垃圾收集器:引入了一个新的实验性垃圾收集器ZGC,它可以在几毫秒内暂停应用程序,无论堆的大小和存活对象的数量如何。
3. 引入了新的模式匹配功能:在Java 17中,`instanceof`运算符可以与模式匹配一起使用,使代码更简洁、更安全。
4. 引入了新的密封类和接口:密封类和接口可以限制哪些其他类或接口可以继承或实现它们。
5. 引入了新的文本块功能:文本块可以使多行字符串字面量的编写变得更简单。
6. 引入了新的记录类型:记录类型是一种特殊的类,它们是不可变的,并且自动从其声明中派生了一些有用的方法,如`equals()`、`hashCode()`和`toString()`。
7. 引入了新的外部内存访问API:这个API提供了一种安全、高效的方式来访问外部内存,比如操作系统本地内存和持久内存。
8. 引入了新的Alpine Linux端口:Java 17现在可以在Alpine Linux和其他使用musl作为C库的Linux发行版上运行。
以上是Java 17的一些主要新功能,Java 21的新功能将在未来的JDK发展过程中确定。