Oracle宣布推出Java16

Java-新闻王 Java新闻 发布时间:2021-03-29 09:10:12 阅读数:781 1
今天,Oracle宣布了java16(oraclejdk16)的可用性,其中包括对该平台的17个新增强,这些增强将进一步提高开发人员的生产效率。最新的Java开发工具包(JDK)最终确定了instanceof(jep394)和Recordsjep395)的模式匹配,这是首次在java14中预览的语言增强。此外,开发人员可以使用新的打包工具(jep392)来发布自包含的Java应用程序,并探索三个正在酝酿的特性:Vector API(jep338)、Foreign Linker API(jep389)和Foreign Memory Access API(jep389),以及一个预览特性Sealed Classes(jep397)。
Oracle每六个月提供一次Java更新,为开发人员提供可预测的发布时间表。这提供了源源不断的创新,同时还提供了持续的性能、稳定性和安全性改进,增加了Java在各种规模的组织和行业中的普及性。

甲骨文Java平台组开发副总裁georgessaab说:“随着最新版本的发布,6个月发布cadence的威力得到了充分展示。“模式匹配和记录是一年前作为JDK14的一部分引入的,并在实际应用的基础上经历了多轮社区反馈。这一过程不仅让Java开发人员有机会在这些特性最终确定之前对其进行试验,而且还融入了关键的反馈,从而产生了两个真正满足社区需求的坚如磐石的JEP。”
Java16发行版是行业范围内开发的结果,包括开放审查、每周构建以及Oracle工程师与全球Java开发人员社区成员之间通过OpenJDK社区和Java社区过程的广泛协作。
Java 16提供的新功能包括:
语言增强在JDK14中首次引入,在JDK16中完成
 jep394:instanceof的模式匹配–通过instanceof操作符的模式匹配增强了Java编程语言。
 jep395:Records–用Records增强Java编程语言,Records是充当不可变数据的透明载体的类。记录可以看作是名义元组。
 提高开发人员生产率的新工具
 jep392:打包工具–提供jpackage工具,用于打包自包含的Java应用程序。
改进内存管理以提高性能
jep387:elasticmetaspace–更快地将未使用的热点类元数据(即Metaspace)内存返回到操作系统,减少Metaspace占用,并简化Metaspace代码以降低维护成本。
jep376:ZGC:并发线程堆栈处理–将ZGC线程堆栈处理从安全点移动到并发阶段。这项工作消除了允许并发堆栈处理的最后一个重要瓶颈。
改进网络以提高开发人员的工作效率和灵活性
jep380:UNIX域套接字通道–将对UNIX域套接字的所有特性的支持(这些特性在主要UNIX平台和Windows中通用)添加到中的套接字通道和服务器套接字通道api中java.nio.channels包裹。UNIX域套接字用于同一主机上的进程间通信(IPC)。它们在大多数方面与TCP/IP套接字相似,只是它们是通过文件系统路径名而不是Internet协议(IP)地址和端口号来寻址的。
解决未来不兼容的代码
jep396:默认情况下强封装JDK内部构件——在jdk9中,我们强封装了新的内部API元素,从而限制了对它们的访问。但是,为了帮助迁移,jdk9故意选择在运行时不强封装jdk8中存在的包的内容。jdk16通过在默认情况下封装JDK的大多数内部元素(除了诸如sun.misc.不安全. 最终用户仍然可以选择自jdk9以来默认的宽松的强封装。这将鼓励开发人员从使用内部元素迁移到使用标准api,这样他们和他们的用户都可以毫无顾忌地升级到未来的Java版本。
jep390:warningsforvalue-basedclasses–将基元包装类指定为基于值的,并弃用其构造函数进行删除,从而提示新的弃用警告。提供有关在Java平台中任何基于值的类的实例上进行不正确同步尝试的警告。
孵化和预览功能
JEP 338:Vector API(孵化器)–提供孵化器模块的初始迭代,jdk.incubator.vector文件,表示在运行时可靠地编译为支持的CPU体系结构上的最佳矢量硬件指令的矢量计算。
jep389:Foreign-linkerapi(孵化器)–引入了一个API,它提供了对本机代码的静态类型的纯Java访问。
jep393:foreignmemoryaccessapi(第三个孵化器)–引入一个API,允许Java程序安全有效地访问Java堆外的外部内存。
jep397:密封类(第二次预览)–通过密封类和接口增强Java编程语言。密封类和接口限制了其他类或接口可以扩展或实现它们。
OpenJDK贡献者的改进
JEP 347:启用C++ 14语言特性(在JDK源代码中)——允许使用JDK C++源代码中的C++ 14语言特性,并给出关于哪些功能可以在热点代码中使用的具体指导。
jep357:从Mercurial迁移到Git——将OpenJDK社区的源代码存储库从Mercurial(hg)迁移到Git。
jep369:迁移到GitHub–在GitHub上托管OpenJDK社区的Git存储库。
新端口在更多平台上支持Java
jep386:alpinelinuxport–在x64和AArch64体系结构上,将JDK移植到alpinelinux,以及其他使用musl作为主要C库的Linux发行版。
jep388:Windows/Aarch64端口–将JDK移植到Windows/Aarch64。
不断改进Java
Java仍然是有史以来最成功的开发平台之一,它基于不断创新来满足现代应用程序开发人员不断发展的需求。为了使oraclejavase订阅对客户更有价值,Oracle增加了GraalVM Enterprise作为一项权利。GraalVM可以帮助提高性能并减少应用程序的资源消耗,特别是在微服务和云本地架构中。通过利用oraclejavase订阅来管理Java资产的组织不仅可以从拥有最新的增强功能和直接访问Oracle的Java专家中获益,而且可以比其他方法节省大量的成本。

巴黎诺德索邦大学(University Sorbonne Paris Nord)助理教授、巴黎Java用户小组(Paris Java User Group)联合组织者何塞•保马尔德(JoséPaumard)说:“这种节奏让我不再每隔三四年就对Java的新事物感兴趣,而是作为一名充满激情的开发人员、教师和培训师,让我保持活跃。”。“我急切地期待着使用记录来提高数据处理代码的性能和可读性,在能够将其用作预览功能之后,它现在将与最新版本一起使用。”

Java开发人员可以在3月23日、25日和30日的Oracle Developer Live:Java Innovations上了解更多关于java16的信息,
并获得实践经验。
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/javanews/2021-03-29/169.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者