微信号:infoqchina

介绍:有内容的技术社区媒体

Oracle启动针对Java的Valhalla项目

2014-08-11 18:09 InfoQ

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<int>这样的类型成为合法的Java类型。这一称为“泛型专门化(generic specification)”的特性已经在其它一些JVM语言中存在,而且自JDK 5首次推出泛型以来,Java开发人员一直在要求这一特性。


目前,Valhalla提议的另一个重要特性是值类型。值类型将同时具有Java对象和基本类型的部分属性,但其实现方式使得开发人员可以仅仅将它们看作一种新的用户定义的基本类型。John Rose、Brian Goetz和Guy Steele已经发布了一份值类型的初步提案。


Valhalla特性的原型阶段将马上开始。感兴趣的开发人员可以加入OpenJDK网站上的valhalla-dev邮件列表。读者可以点击这里,阅读Brian Goetz最初的公告。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 .NET技术+25台服务器怎样支撑世界第54大网站 野狗Meetup技术沙龙 | 6月18日中关村创业大街3W咖啡 Python程序员经常犯的10个错误 一稿过,BOSS再也不用担心我的VI提案了! Rails框架的核心组建-Railtie