JDK Java中的新功能

下一版本的标准Java将具有文本块垃圾收集器隐藏的类以及模式匹配和记录的预览的功能

JDK Java中的新功能
蒙西吉·盖蒂Images

爪哇即将全面上市3月,后继Java的工作将于9月到期。到目前为止,已经计划对该发行版进行八项正式更改。另外两个提案,加密签名和记录的第二个预览版也有望很快成为正式版本。

Java开发套件JDK为Java SE Standard Edition的下一版本提供基础。在9月正式上市之前,6月和7月将有缩减阶段,随后在8月将有两个发布候选版本。

OpenJDK提案的详细信息

  • 记录那些是不可变数据的透明载体的类将作为JDK的早期预览版本首次亮相后,将包含在JDK的第二个预览版本中。该计划的目标包括设计一个面向对象的结构,该结构表达简单的值聚合,帮助程序员专注于对不可变数据进行建模,而不是对可扩展行为进行建模,从而自动实现数据驱动的方法(例如equals和evaluator),并保留长期的Java原则(例如标称类型和迁移兼容性)
  • 基于的密码签名爱德华兹曲线数字签名算法EdDSAEdDSA是一种现代的椭圆曲线方案,具有优于JDK中现有签名方案的优点EdDSA仅在SunEC提供者中实现EdDSA由于与其他签名方案相比已提高了安全性和性能,因此它已经得到了加密库(例如, OpenSSL和BoringSSL
  • 重新实现旧版DatagramSocket API通过替换java net数据报套接字Java Net MulticastSocket具有更简单,更现代的实现的API,这些API易于调试和维护,并且可以与当前正在研究的虚拟线程一起使用织机项目新计划是对JDK增强提案的后续措施,该提议重新实现了旧版Socket API。java net数据报套接字Java Net MulticastSocket可以追溯到JDK以及IPv仍在开发的时期,因此,当前的实现组播套接字尝试以难以维护的方式调和IPv和IPv
  • 禁用偏向锁定默认情况下,不建议使用所有相关的命令行选项。目标是确定是否需要持续支持昂贵的维护偏向锁定的遗留同步优化,该优化在HotSpot虚拟机中用于减少无竞争锁定的开销,尽管某些Java应用程序可能会看到带有偏向锁定功能的性能退化偏向锁定的性能提升通常不如过去那么明显
  • 的第二个预览模式匹配实例跟随之前的预览JDK模式匹配允许程序中的通用逻辑,主要是从对象中有条件地提取组件,以便更简洁地表达。诸如Haskell和C之类的语言出于简洁性和安全性而接受了模式匹配。
  • 隐藏的课程不能由其他类的字节码直接使用的类供框架使用,这些框架在运行时生成类,并通过反射间接使用它们。隐藏类可以定义为对象的成员。访问控制巢该提案将通过允许标准API定义无法发现且生命周期有限的隐藏类来提高JVM上所有语言的效率,该提案将能够动态生成JDK内外的框架。可以定义隐藏类的类许多基于JVM构建的语言都依靠动态类生成来提高灵活性和效率。此提案的目标包括允许框架将类定义为该框架的不可发现的实现细节,因此它们不能被其他类链接或通过反射发现,支持使用不可发现的类扩展访问控制嵌套,并支持对不可发现的类进行主动卸载,因此框架可以灵活地定义所需的数量。另一个目标是弃用非标准API杂项不安全defineAnonymousClass打算在将来的版本中弃用,并且由于此提议,Java语言也不得更改
  • 根据该提案,Z垃圾收集器ZGC将从实验功能升级为产品JDKZGC于9月到达ZGC是一种可扩展的低延迟垃圾收集器ZGC被作为一种实验功能引入,因为Java的开发人员决定应逐步谨慎地引入这种大小和复杂性的功能。此后,从并发添加了许多改进。类卸载取消使用未使用的内存,并支持数据类共享,以提高NUMA意识和多线程堆预触。最大堆大小也已从4 TB增加到TB。支持的平台包括Linux Windows和MacOS
  • 在JDK和JDK通过简化表示跨几行源代码的字符串同时避免常见情况下的转义序列的目的,旨在简化编写Java程序的任务。文本块是一种多行字符串文字,可以避免大多数自动转义序列的格式需求字符串以可预测的方式提供,并在需要时为开发人员提供对格式的控制。文本块建议的目标是增强表示用非Java语言编写的代码的Java程序中字符串的可读性。另一个目标是通过以下方式支持从字符串文字的迁移:规定任何新构造都可以表达与字符串文字解释相同的转义序列相同的字符串集,并以与字符串文字相同的方式进行操作OpenJDK开发人员希望添加转义序列来管理显式空白和换行控件
  • 雪兰多ah低暂停时间垃圾收集器将成为生产功能并退出实验阶段已集成到JDK一年前
  • 去除犀牛首次亮相JDK我3月,但此后由于诸如GrailVMOpenJDK提案要求删除Nashorn API和用于调用Nashorn的jjs命令行工具

要继续阅读本文,请立即注册