5. 重新实现 DatagramSocket API重新实现旧版 DatagramSocket API,更简单、更现代的实现来代替java.net.DatagramSocket和java.net.MulticastSocketAPI 的基础实现,提高了 JDK 的可维护性和稳定性 。
新的底层实现将很容易使用虚拟线程,目前正在 Loom 项目中进行探索 。这也是 JEP 353 的后续更新版本,JEP 353 已经重新实现了 Socket API 。
![最强JDK15 安装与讲解,有点想升级,终于要废弃偏向锁了](http://img.jiangsulong.com/220422/0F41QG7-2.jpg)
文章插图
6. 准备禁用和废除偏向锁在 JDK 15 中,默认情况下禁用偏向锁(Biased Locking),并弃用所有相关的命令行选项 。
后面再确定是否需要继续支持偏向锁,因为维护这种锁同步优化的成本太高了 。
7. 模式匹配(第二次预览)第一次预览是 JDK 14 中提出来的,点击这里查看我之前写的详细教程 。
Java 14 之前用法:
if (obj instanceof String) { String s = (String) obj; // 使用s}
Java 14之后的用法:if (obj instanceof String s) { // 使用s}
Java 15 并没有对此特性进行调整,继续预览特性,只是为了收集更多的用户反馈,可能还不成熟吧 。8. ZGC 功能转正ZGC是一个可伸缩、低延迟的垃圾回收器 。
ZGC 已由JEP 333集成到JDK 11 中,其目标是通过减少 GC 停顿时间来提高性能 。借助 JEP 377,JDK 15 将 ZGC 垃圾收集器从预览特性变更为正式特性而已,没错,转正了 。
这个 JEP 不会更改默认的 GC,默认仍然是 G1 。
9. 文本块功能转正【最强JDK15 安装与讲解,有点想升级,终于要废弃偏向锁了】文本块,是一个多行字符串,它可以避免使用大多数转义符号,自动以可预测的方式格式化字符串,并让开发人员在需要时可以控制格式 。
文本块最早准备在 JDK 12 添加的,但最终撤消了,然后在 JDK 13 中作为预览特性进行了添加,然后又在 JDK 14 中再次预览,在 JDK 15 中,文本块终于转正,暂不再做进一步的更改 。
Java 13 之前用法,使用one-dimensional的字符串语法:
String html = "<html>n" + " <body>n" + " <p>Hello, world</p>n" + " </body>n" + "</html>n";
Java 13 之后用法,使用two-dimensional文本块语法:String html = """ <html> <body> <p>Hello, world</p> </body> </html> """;
10. Shenandoah 垃圾回收算法转正Shenandoah 垃圾回收从实验特性变为产品特性 。这是一个从 JDK 12 引入的回收算法,该算法通过与正在运行的 Java 线程同时进行疏散工作来减少 GC 暂停时间 。Shenandoah 的暂停时间与堆大小无关,无论堆栈是 200 MB 还是 200 GB,都具有相同的一致暂停时间 。JDK 15 Shenandoah垃圾收集器从预览特性变更为正式特性而已,没错,又是转正了 。
11. 移除了 Solaris 和 SPARC 端口 。移除了 Solaris/SPARC、Solaris/x64 和 linux/SPARC 端口的源代码及构建支持 。这些端口在 JDK 14 中就已经被标记为 deprecated 了,JDK 15 被移除也不奇怪 。
12. 外部存储器访问 API(二次孵化)这个最早在 JDK 14 中成为孵化特性,JDK 15 继续二次孵化并对其 API 有了一些更新 。
目的是引入一个 API,以允许 Java 程序安全有效地访问 Java 堆之外的外部内存 。这同样是 Java 14 的一个预览特性 。
13. Records Class(二次预览)Records Class 也是第二次出现的预览功能,它在 JDK 14 中也出现过一次了,使用 Record 可以更方便的创建一个常量类,使用的前后代码对比如下 。
推荐阅读
- Centos7.6上静默安装oracle11.2.0.4.0
- CentOS7下部署Cobbler实现PXE+KS自动化安装
- MySQL5.7数据库安装与远程连接
- 桑普太阳能特点及安装
- 安装使用Hoppscotch构建API请求访问与测试
- SQL Server2000安装步骤详细介绍解读新人也会装了
- 银河麒麟桌面操作系统安装教程
- 太阳能电池组件的安装与构成
- Docker 安装 Nginx
- Nignx的安装和使用