JDK 11的新特性包括:
● 字符串操作增强:为String类添加了一些新的方法,如isBlank()、lines()、repeat()、strip()等。
● 文件操作改进:提供了更方便的文件读写方法,如Files.writeString()和Files.readString()。
● HTTP Client API:引入了标准化的HttpClient API,支持HTTP/1.1和HTTP/2。
● 局部变量推断:在Lambda表达式中可以使用var关键字进行局部变量推断。
● 单命令运行:可以使用单个java命令运行Java文件,无需先编译。
● 飞行记录器免费:商业版JDK中的飞行记录器在Java 11中将开源免费。
JDK 17的新特性包括:
● 特定于上下文的反序列化过滤器:允许应用程序使用JVM范围的过滤器工厂配置特定于上下文和动态选择的反序列化过滤器。
● Vector API:引入一个与平台无关的矢量API,用于表达矢量计算。
● 外部函数和内存 API:通过有效调用外部函数和安全地访问外部内存,允许Java程序调用本地库和处理本地数据。
● 密封类:密封类和接口限制其他类或接口可以扩展或实现。
JDK 21的新特性包括:
● 序列集合:引入了一个新的接口族,用于表示集合的概念,这些集合的元素按照预定义的序列或顺序排列。
● 分代 ZGC:扩展Z垃圾回收器,以维护年轻对象和年老对象的独立生成,从而提高应用程序性能。
● 记录模式:使用记录模式增强Java编程语言,以解构记录值。
● switch 模式匹配:通过switch表达式和语句的模式匹配来增强Java编程语言。
● 虚拟线程:将虚拟线程引入Java平台,虚拟线程是轻量级线程,可以显著减少编写、维护和观察高吞吐量并发应用程序的工作量