10、Java15 新特性 - 其他变化
JEP 383 : 外部内存访问 API
Java 14 允许 Java 程序安全有效地访问 Java 堆之外的外部内存。早期的 mapDB、memcached、ignite java 库提供了外部内存访问。它是一种更清晰的 API,可以无缝地操作所有类型的外部内存(本机内存、持久内存、托管堆内存等)。无论外部内存类型如何,它还负责 JVM 的安全性。垃圾收集/内存释放操作也应明确提及。
该API 基于三个主要抽象 MemorySegment、MemoryAddress 和 MemoryLayout,是一种访问堆内存和非堆内存的安全方式。
Java 15 继续此功能作为孵化器并向 API 添加了新的改进。
JEP 339 : Edwards-Curve数字签名算法(EdDSA)
Edwards-Curve Digital Signature Algorithm,EdDSA是一种先进的椭圆曲线方案,优于JDK中现有的签名方案。与其他签名方案相比,它提高了安全性和性能。它受到 OpenSSL、BoringSSL 等流行加密库的支持。 EdDSA 将仅在 SunEC 提供程序中的 java 15 中实现。
JEP 373 : 重新实现旧版 Datagram Socket API
java.net.DatagramSocket 和 java.net.MulticastSocket API 的遗留实现被更简单、更现代的实现所取代,这些实现更易于维护和调试。
java.net.datagram.Socket 和 java.net.MulticastSocket 的当前实现是在 jdk 中从 1.0 开始的,IPv6 仍在开发中。该 JEP 旨在取代目前以难以维护的方式协调 IPv4 和 IPv6 的 MulticastSocket 实现。