经过六个月的开发, 甲骨文宣布发布 新版本 JavaSE 15 作为使用开放源代码OpenJDK项目的参考实现。
JavaSE 15 它被归类为常规支持版本, 更新将发布到下一个版本。 Ĵava SE 11应该用作长期支撑腿 (LTS)和更新将一直发布到2026年。 Java 8 LTS将支持到2020年XNUMX月。 下一个LTS版本计划于2021年XNUMX月发布。
Java SE 15的主要新功能
在这个新版本中, 提供了对EdDSA RFC 8032签名的支持功能,建议实施EdDSA 不依赖于硬件平台, 它具有防止边信道攻击的能力(保证了所有计算的时间不变),并且在性能方面,它以相同的保护级别优于用C语言编写的现有ECDSA实现。
另一个变化是 密封类和接口的实验支持 该 它们不能被其他类和接口使用 继承,扩展或取消部署。
Java SE 15的这个新版本中还强调了 支持字节码不能直接使用的隐藏类 其他课程。 隐藏类的主要用途是用于在运行时动态生成类并通过反射间接使用它们的框架。
垃圾收集器 ZGC (Z垃圾收集器) 已稳定并公认可用于一般用途。 ZGC以被动模式运行,以最大程度地减少由于垃圾收集而引起的延迟(使用ZGC时的停机时间不超过10毫秒),并且可以处理大小不等的堆,大小从几百个不等从兆字节到几TB。
垃圾收集器 雪兰多(Shenandoah)稳定下来并被认为无处不在。 Shenandoah由Red Hat和 在减少垃圾收集过程中暂停时间的算法上脱颖而出 与运行中的Java应用程序并行清理时。
此外,还 对文本块的支持已稳定 并以以下语言输入: 文字字符串的新形式 它们使您可以在源代码中包含多行文本数据,而无需使用转义符和在块中保留原始文本格式。
另一方面, 旧版DatagramSocket API已重新设计为 旧的java.net.DatagramSocket和java.net.MulticastSocket实现已被易于调试和维护且与Loom项目开发的虚拟线程兼容的现代实现所取代。
如果可能与现有代码发生兼容性冲突,则不会删除旧的实现,可以使用jdk.net.usePlainDatagramSocketImpl选项将其激活。
另外, 提出了模式匹配的第二个实验实现 在“ instanceof”运算符中,您可以立即定义一个局部变量来访问已验证的值。
最后,还着重介绍了“ record”关键字的第二个实验实现,该实现为类定义提供了一种紧凑的形式,避免了显式定义诸如equals(),hashCode()和toString之类的几种低级方法的需要。 (),如果数据仅存储在字段中。
最后 其他突出的变化:
- 提出了外部存储器访问API的第二稿
- HotSpot JVM用于减少锁定开销的Biased Locking优化技术已被禁用并已弃用。
- 已声明过时机制的RMI激活,将在以后的版本中删除。
- 删除了Java SE 11中不推荐使用的Nashorn JavaScript引擎。
- 为Solaris OS和SPARC处理器(Solaris / SPARC,Solaris / x64和Linux / SPARC)删除的端口。
Si 您想了解更多 关于这个新版本。 您可以查看详细信息 在下面的链接中。