Java15的新特性总结!
JDK 15/Java 15的亮点包括加密签名、文本块、隐藏类、外部存储器访问API、ZGC、模式匹配和Records等。
JDK 15/Java 15新特性介绍
339:Edwards-Curve Digital Signature Algorithm (EdDSA)
使用Edwards-Curve数字签名算法(EdDSA)实现加密签名。与其它签名方案相比,EdDSA具有更高的安全性和性能,并且已在许多其它加密库(如OpenSSL和BoringSSL)中得到支持。
360:Sealed Classes (Preview)
用于限制超类的使用,密封的类和接口限制其它可能继承或实现它们的其它类或接口。
371:Hidden Classes
隐藏类适用于在运行时生成类并通过反射间接使用它们的框架。隐藏类可以定义为访问控制嵌套的成员,并且可以独立于其他类进行卸载。
372:Remove the Nashorn JavaScript Engine
删除Nashorn JavaScript脚本引擎和API,以及jjs工具。不建议在Java 11中删除引擎,API和工具,并明确表示打算在将来的版本中删除它们。
373:Reimplement the Legacy DatagramSocket API
重新实现旧版DatagramSocket API,用易于维护和调试的更简单、更现代的实现来代替java.net.DatagramSocket和java.net.MulticastSocketAPI的基础实现。
374:Disable and Deprecate Biased Locking
默认情况下禁用偏向锁,并弃用所有相关的命令行选项。
375:Pattern Matching for instanceof (Second Preview)
通过对instanceof运算符进行模式匹配来增强Java编程语言。模式匹配允许程序中的通用逻辑,即从对象中有条件地提取组件,可以更简洁、更安全地表示。
377:ZGC: A Scalable Low-Latency Garbage Collector
将Z垃圾收集器从实验功能更改为产品功能。
378:Text Blocks
将文本块添加到Java语言。文本块是多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式,并在需要时使开发人员可以控制格式。
379:Shenandoah: A Low-Pause-Time Garbage Collector (Production)
Shenandoah垃圾回收从实验特性变为产品特性。这是一个从JDK 12引入的回收算法,该算法通过与正在运行的Java线程同时进行疏散工作来减少GC暂停时间。Shenandoah的暂停时间与堆大小无关,无论堆栈是200 MB还是200 GB,都具有相同的一致暂停时间。
381:Remove the Solaris and SPARC Ports
删除源代码并构建对Solaris/SPARC,Solaris/x64和Linux/SPARC端口的支持。不建议在JDK 14中删除这些端口,并明确表示打算在将来的版本中删除它们。
383:Foreign-Memory Access API (Second Incubator)
引入一个API,以允许Java程序安全有效地访问Java堆之外的外部内存。
384:Records (Second Preview)
Records提供了一种紧凑的语法来声明类,以帮助开发者写出更简洁的代码,这些类是浅层不可变数据(shallowly immutable data)的透明拥有者。该特性主要用在特定领域的类,这些类主要用于保存数据,不提供领域行为。
385:Deprecate RMI Activation for Removal
弃用RMI激活机制以便将来删除。RMI激活是RMI的过时部分,自Java 8开始,RMI一直是可选的。另外不会弃用RMI的其他部分。