2020年9月15日JDK15发布,这也是一个短期支持的过渡版本,只会维护到明年三月JDK16发布。
官方文档 http://openjdk.java.net/projects/jdk/15/
官网更新的JEPS:
JEP 339:Edwards-Curve Digital Signature Algorithm (EdDSA)
爱德华兹曲线数字签名算法,新增Edwards-Curve数字签名算法,EdDSA是一种现代的椭圆曲线签名方案,与JDK中的现有签名方案相比,在相同安全强度下,比现有的ECDSA算法实现性能更好。
JEP 360:Sealed Classes (Preview)
通过密封的类和接口增强Java编程语言。密封的类和接口限制可以扩展或实现它们的其他类或接口。
在Java中,类层次结构通过继承实现代码的重用:超类的方法可以被许多子类继承(并因此被重用)。但是,类层次结构的目的并不总是重用代码。有时,其目的是对域中存在的各种可能性进行建模,例如图形库支持的形状类型或金融应用程序支持的贷款类型。当以这种方式使用类层次结构时,限制子类集可以简化建模。
JEP 371:Hidden Classes
隐藏类,这些隐藏类不能被其他类的字节码直接使用。隐藏类适用于在运行时生成类并通过反射间接使用它们的框架。隐藏类可以定义为访问控制嵌套的成员,并且可以独立于其他类进行卸载。
JEP 372:Remove the Nashorn JavaScript Engine
删除Nashorn JavaScript脚本引擎和API,以及该jjs 工具
JEP 373:Reimplement the Legacy DatagramSocket API
重新实现了之前旧的DatagramSocket API,用易于维护和调试的更简单更现代的实现来代替java.net.DatagramSocket和java.net.MulticastSocketAPI 的基础实现,新的实现将很容易适配虚拟线程的工作。
JEP 374:Disable and Deprecate Biased Locking
禁用和弃用偏向锁定,默认情况下禁用偏向锁定,并弃用所有相关的命令行选项
JEP 375:Pattern Matching for instanceof (Second Preview)
通过为操作员提供模式匹配来增强Java编程语言instanceof。模式匹配允许程序中的通用逻辑,即从对象中有条件地提取组件,可以更简洁,更安全地表示。这是JDK 15中的预览语言功能。
JEP 377:ZGC: A Scalable Low-Latency Garbage Collector
ZGC 已由JEP 333集成到JDK 11 中,其目标是通过减少 GC 停顿时间来提高性能。借助 JEP 377,ZGC 从预览功能转变为生产功能。
JEP 378:Text Blocks
文本块由JEP 355在 2019 年提出,文本块是一种多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式,并在需要时使开发人员可以控制格式。借助 JEP 378,文本块已成为 Java 语言的永久功能。
JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector
将Shenandoah垃圾收集器从实验功能更改为产品功能。该算法通过与正在运行的 Java 线程同时进行疏散工作来减少 GC 暂停时间。Shenandoah 的暂停时间与堆大小无关。
JEP 381: Remove the Solaris and SPARC Ports
删除源代码并构建对Solaris / SPARC,Solaris / x64和Linux / SPARC端口的支持。不建议在JDK 14中删除这些端口,并明确表示打算在将来的版本中删除它们。
JEP 383: Foreign-Memory Access API (Second Incubator)
目的是引入一个 API,以允许 Java 程序安全有效地访问 Java 堆之外的外部内存,目前只是一个预览功能。
JEP 384: Records (Second Preview)
使用records增强Java编程语言,record是充当不可变数据的透明载体的类。记录可以看作是名义元组。
JEP 385:Deprecate RMI Activation for Removal
弃用RMI激活 机制以便将来删除。RMI激活是RMI的过时部分,自Java 8开始,RMI一直是可选的。不会弃用RMI的其他部分。