vlambda博客
学习文章列表

JDK15快要来啦!看看都有哪些新特性

目前,首批5个JEP已经被正式确认为JDK 15的目标。加入到JEP 372中的是JEP 377和JEP 379,它们将删除两个被废弃的模块,这两个模块将实验性的垃圾回收器提升到生产状态。同样加入它们的还有文本块,它们准备成为标准功能,以及隐型类Hidden Classes

五大新特性

JEP 371: Hidden Classes

JEP 371: Hidden Classes提出将hidden Classes引入到Java中。它们是不能被其他类的字节码直接使用的类。Hidden Classes的目的是供框架使用,这些框架在运行时生成类,并通过反射间接使用它们。

JEP 372: 移除 Nashorn JavaScript 引擎

这是一个非常直接的建议,它是为了删除两个在Java 11中被弃用的模块--jdk.scripting.nashorn和jdk.scripting.nashorn.shell。你可以阅读我们对 JEP 372 的评价,或者在 OpenJDK 页面上查看它的全部内容。

JEP 377: ZGC: 一种可扩展的低延迟垃圾收集器(生产版)

在JDK 11中引入的Z Garbage Collector,长期以来一直是一个实验性功能。然而,随着 Java 15 的推出,ZGC 成为生产功能的时机似乎已经到来。自从ZGC首次作为JDK的一部分出现以来,已经对ZGC进行了许多修改和增强----最近的一次是对Windows和macOS平台的支持。在过去的几个月里,没有新的ZGC特有的bug报告,这表明它已经足够稳定,不再存在于-XX:+UnlockExperimentalVMOptions选项后面。

JEP 378: 文本块(标准版

至于Text Blocks,它们在JDK 13中作为一个预览功能通过JEP 355首次出现在Java中。在 JDK 14 中,它们通过 JEP 368 获得了第二次预览,并在社区反馈后增加了两个额外的转义序列。现在看来,它们似乎已经准备好成为一个标准功能了,这也是JEP 378所提议的。

JEP 379: Shenandoah:低延时垃圾回收器(生产版)

Shenandoah 垃圾回收器早在 Java 12 的 JEP 189 中就首次集成到 JDK 中。和其他集成到JDK中的垃圾回收器一样(如Epsilon GC和ZGC),它被标记为实验性的。现在,类似于JEP 377中提出的建议,Shenandoah已经准备好成为未来JDK的一个生产功能。

发布时间表

这是Mark Reinhold提出的发布时间表。原始的时间表和讨论可以在邮件列表中找到。

原文:https://jaxenter.com/java-15-news-170322.htm