Oracle 宣布了针对 Java 的 Valhalla 项目。这是一个实验性 OpenJDK 项目,用于开发需要更改 Java 语法以及 VM 层支持的主要的 Java 新特性。Valhalla 项目负责人 Brian Goetz 强调,该项目尚处于早期实验阶段,社区不应该期望任何 Valhalla 技术会成为 JDK 9(计划在 2016 年发布)的一部分。该项目与一些现有的 OpenJDK 项目,如 Lambda 项目和 DaVinci Machine 项目(它使 Java 7 增加了 invokedynamic 功能),有类似的目标。
对于 Valhalla,在最初讨论过的特性中,其中一个是对 Java 泛型进行重大修改。Java 的当前版本只允许泛型类型包含引用类型,而且 Java 编译器会在编译时删除它所包含类型的详细信息。这种泛型实现方式(称为类型擦除)一直是 Java 类型系统中最受诟病的特性之一。
Valhalla 项目将探索一种新的泛型实现方式,希望能够提供一种新型的泛型类型,它将允许开发人员使用基本类型的泛型集合。目标是,在 JDK 未来的某个版本中,像 List
目前,Valhalla 提议的另一个重要特性是值类型。值类型将同时具有 Java 对象和基本类型的部分属性,但其实现方式使得开发人员可以仅仅将它们看作一种新的用户定义的基本类型。John Rose、Brian Goetz 和 Guy Steele 已经发布了一份值类型的初步提案。
Valhalla 特性的原型阶段将马上开始。感兴趣的开发人员可以加入 OpenJDK 网站上的 valhalla-dev 邮件列表。读者可以点击这里,阅读Brian Goetz 最初的公告。
查看英文原文:**** Oracle Launches Project Valhalla for Java
评论