Java15 - 其他变化

JEP 383 - 外部内存访问 API

Java 14 允许 Java 程序安全高效地访问 Java 堆之外的外部内存。 早期的 mapDB、memcached、ignite java 库提供了外部内存访问。 它是一个更简洁的 API,可以无缝地操作所有类型的外部内存(本机内存、持久内存、托管堆内存等)。 无论外部内存类型如何,它还负责 JVM 的安全性。 还应明确提及垃圾收集/内存释放操作。

此 API 基于三个主要的抽象 MemorySegment、MemoryAddress 和 MemoryLayout,是访问堆内存和非堆内存的安全方式。

Java15 继续孵化此功能,并对 API 进行了新的改进。


JEP 339 − Edwards 曲线数字签名算法 (EdDSA)

Edwards-Curve Digital Signature Algorithm,EdDSA是一种先进的椭圆曲线方案,优于JDK中已有的签名方案。 与其他签名方案相比,它提高了安全性和性能。 它受流行的加密库(如 OpenSSL、BoringSSL 等)的支持。EdDSA 将仅在 SunEC 提供程序中的 Java15 中实现。


JEP 373 − 重新实现旧版 DatagramSocket API

java.net.DatagramSocket 和 java.net.MulticastSocket API 的遗留实现被更简单、更现代的实现所取代,这些实现易于维护和调试。

java.net.datagram.Socket 和 java.net.MulticastSocket 目前的实现是从 1.0 开始在 jdk 中,IPv6 还在开发中。 这个 JEP 的目标是取代当前的 MulticastSocket 实现,它以难以维护的方式协调了 IPv4 和 IPv6。