Java 创新项目

Amber

Project Amber 的目标是探索和孵化更小、更注重生产力的 Java 语言特性,这些特性已被接受为 OpenJDK JEP 过程 下的候选 JEP。该项目由 编译器组 赞助。

大多数 Project Amber 特性在成为 Java SE 的正式部分之前,至少要经过一轮预览。有关预览过程的说明,请参见 JEP 12,有关如何使用预览特性的教程,请参见 我们的教程。对于给定的特性,每轮预览和最终标准化都有单独的 JEP。

在 Project Amber 的 Wiki 以及 Inside.java 的 Amber 页面 上了解更多信息。

Loom

Project Loom 的目的是探索、孵化和交付基于 Java VM 特性和 API 的功能,这些功能旨在支持 Java 平台上易于使用、高吞吐量的轻量级并发和新的编程模型。这是通过添加以下结构来实现的

这个 OpenJDK 项目由 HotSpot 组赞助。

在 Project Loom 的 Wiki 以及 Inside.java 的 Loom 页面 上了解更多信息。

Panama

我们正在改进和丰富 Java 虚拟机与定义明确但“外部”(非 Java)API 之间的连接,包括许多 C 程序员常用的接口。

为此,Project Panama 将包含以下大多数或所有组件

在 Project Panama 的 Wiki 以及 Inside.java 的 Panama 页面 上了解更多信息。

Valhalla

Valhalla 项目是一个探索和孵化高级 Java VM 和语言特性候选者的场所,例如“内联类型”、泛型特化、增强型易失性,以及可能的其他相关主题,例如具象泛型。

三个主要目标是

  1. 使 JVM 内存布局行为与现代硬件的成本模型保持一致;
  2. 扩展泛型以允许对所有类型进行抽象,包括基本类型、值,甚至 void;
  3. 使现有库(尤其是 JDK)能够兼容地演变,以充分利用这些特性。

许多人最近将 Valhalla 描述为“主要与性能有关”。虽然人们得出这个结论是可以理解的——事实上,Valhalla 的许多动机都源于性能考虑——但这种描述忽略了一些非常重要的东西。是的,性能是故事中重要的一部分——但安全、抽象、封装、表达能力、可维护性和兼容库演变也同样重要。

在 Valhalla 项目的 Wiki 以及 Inside.java 的 Valhalla 页面 上了解更多信息。

ZGC

Z 垃圾收集器,也称为 ZGC,是一个可扩展的低延迟垃圾收集器,旨在满足以下目标

概览,ZGC 是

ZGC 的核心是一个并发垃圾收集器,这意味着所有繁重的任务都在 Java 线程继续执行时完成。这极大地限制了垃圾收集对应用程序响应时间的影響。

在 ZGC 的 Wiki 以及 Inside.java 的 GC 页面 上了解更多信息。