当前位置: 首页 > 图灵资讯 > 技术篇> Java情报站:Java 15的新功能

Java情报站:Java 15的新功能

来源:图灵教育
时间:2023-04-03 15:04:58

随着 Java Java将于2020年9月15日在3月17日全面上市 15后续产品。到目前为止,这个版本已经计划好了八次正式变更。5月初增加了三个建议,包括取代旧的DatagramSocketet APIinstanceof 操作员提供模式匹配的第二个预览禁用和弃用偏置锁定。让我们了解一下目前收集到的信息java15的新功能

截至5月5日,所有这三个新提案都在“对目标提出建议”阶段。之前的五项提案已正式成为Java开发工具包(JDK)15的目标,这是下一版Java SE基础(标准版)。在在9月正式上市之前,将在6月和7月缩减,然后在8月发布两个候选版本。

我们通过信息和官方网站获取信息OpenJDK 提案的详细信息:

使用起来更简单取而代之的是更现代的实现方式java.net.datagram.Socket 和 java.net.MulticastSocketAPI 从而重新实现旧的DatagramSocketet API,Projecttt(1)易于调试和维护(2) 在Loom中正在探索的虚拟线程新计划是对JDK增强建议的后续工作重新实现了旧的Socketet API。目前实现 java.net.datagram.Socket 和 java.net.MulticastSocket 可追溯到JDK 1.0和IPv6仍处于开发阶段。因此,目前Multicastsocket的实现 IPv4和IPv6试图以难以维护的方式进行协调。

默认情况下,禁止偏向锁定,并放弃所有相关命令行选项。目的是确定是否需要继续支持成本高、维护成本高的锁定同步优化Hotspot虚拟机用于减少无竞争锁定的成本。虽然一些Java应用程序可能会看到禁止偏置锁定时性能下降的趋势,但偏置锁定的性能提高通常不像以前那么明显。

JDK 第二种模式匹配在14中之前的预览之后 instanceof预览模式匹配使程序中的通用逻辑(主要是从对象中有条件地提取组件)更容易表达。Haskell和C#由于其简洁性和安全性,其他语言接受了模式匹配。

隐藏类(指不能直接用于其他类别字节码的类)旨在通过反射生成并间接使用它们的框架。隐藏类可以定义为访问控制嵌套的成员 并且可以独立于其他类别卸载。该提案将通过启用标准API定义了生命周期有限的无法发现和隐藏的类别,从而提高了JVM上所有语言的效率。JDK的内外框架将能够动态生成隐藏类别,而不是定义隐藏类别。许多基于JVM的语言都依赖于动态生成来提高灵活性和效率。该提案的目标包括允许框架将类定义为框架中无法发现的实现细节,因此它们不能与其他类别一起使用类链接不能通过反射找到;支持使用不可发现的类扩展访问控制嵌套;并支持积极卸载不可发现的类,因此框架可以灵活定义所需的数量另一个目标是放弃非标准API misc.Unsafe::defineAnonymousClass 目的是不赞成删除未来版本。此外,Java语言不会因此而改变。

根据这一建议,垃圾收集器(ZGC)将从实验功能升级为产品。ZGC已集成 JDK于2018年9月发布 在11中,是一种可扩展的低延迟垃圾回收器。ZGC的引入是一种实验功能,因为Java的开发人员决定谨慎而逐步地引入这种大小和复杂的功能。从那时起,从并发卸载、未使用内存的未提交、对数据共享的支持,到改进的NUMA感知和多线程堆预触,增加了许多改进。另外,最大的大小已经从4岁开始了 TB增加到16 TB。支持的平台包括Linux、Windows和MacOS。

文本块,在JDK 14和JDK 13中均已预览通过简化字符串,表示跨越多行源代码,简化编写在常见情况下,Java程序的任务是避免转义序列。文本块是一种多行字符串文本,避免了大多数转义序列的需要,以可预测的方式自动设置字符串格式,并在需要时为开发人员提供控制。文本块建议的目标是提高Java程序中字符串的可读性,表示用非Java语言编写的代码。另一个目标是表达与字符串文本相同的字符串集,解释相同的转义序列,并以与字符串文本相同的方式操作,以支持字符串文本的迁移。

暂停时间的垃圾收集器将成为生产特征和移动实验阶段一年前就集成了JDK中。

Nashorn的移除2014年3月JDK 8中首次亮相但从那以后就已经被诸如了淘汰GralVM等技术。OpenJDK 15提案要求删除Nashornn API和jjs。用于调用Nashorn的命令行工具。

可以在java.jdk.在net上找到JDK早期访问版本15根据六个月的Oracle发布节奏,JDK 15将是支持六个月的短期功能发布下一个长期支持(LTS)版本将得到几年的支持,这将是JDK 这个版本将于2021年9月到货。目前的LTS版本是JDK 本版于2018年9月发布。

作为一个java学习者和爱好者,每次java新版本的发布给我们带来了一些难以形容的影响,包括优缺点、惊喜和失望。无论如何,我希望java的新版本越来越完美,功能越来越强大,细节处理也越来越好。

上一篇:

Spring之循环依赖详解

下一篇:

java类加载