Oracle 已经发布了 Java 8 的第一个开发者预览版,它支持各种平台(Windows、Max OS X、Linux 和 Solaris)。
“这一里程牌用于在开发人员中进行广泛测试,”Java 平台首席架构师 Mark Reinhold 在博客上这样写道:
我们在所有 Oracle 支持的平台上运行了所有的测试,没有发现任何明显的问题。早在 6 月份我们就达到了“功能完整(Feature Complete)”的里程碑,从那以后,我们已经修复了许多已发现的 Bug。
有一点需要注意,预览版没有必要包含所有最新的安全补丁。另外,正如所料,它会有一些 Bug 和疏漏。其中,漏掉了Java FX 多媒体类的JavaDoc ,以及新的日期和时间API 的源代码。
“从现在到十月底,对于通过通常的Bug 报告通道所收集到的所有反馈意见,我们将尽最大努力阅读、评估并采取相应措施,” Reinhold 说,“之后,为了稳定代码,我们将逐步降低变更频率,所以后来报告的Bug 可能不会及时在GA 版中修复。”
Java 8 的首要特性是 Lambda 项目( JSR 335 ), 用于使针对多核处理器的代码编写更简单。除了 Lambda 表达式本身外,Lambda 项目还增加了方法引用(简洁的 Lambda 表达式,用于引用已有名字的方法)和默认方法(提供了一种机制,程序员可以用它向接口中添加新方法,而不需要破坏实现了该接口的现有代码)。Lambda 项目还扩展了库以支持对流数据的并行操作。
Lambda 团队发布 Lambda 库的预览版已经有段时间了,但是随着开发者预览阶段的开始,将不再推出新的 Lambda 库预览版:
Lambda 预览版是一个非常有用的测试和获取社区反馈意见的工具。对于那些花时间下载和试用预览版的人们所做的工作,我们心存感激。也感谢那些创建了自有版本的人。你们的反馈意见和 Bug 报告在保证 Lambda 项目的成功方面是极其重要的。谢谢!
除了 Lambda 项目,Java 8 还获得了新的日期和时间 API( JSR 310 )和 Nashorn JavaScript 引擎。更具争议的是,它还从HotSpot 虚拟机中删除了“永久代(Permanent Generation)”。
Java 8 还引入了“紧凑Profile (Compact Profiles)”的概念,以便不需要整个平台的应用程序可以部署并运行在小型设备上。这是为了能够迁移目前基于 Java ME Connected Device Configuration(CDC)构建的应用程序,使其转到使用 Java SE 平台的合适的 Profile。因此,可以将其看作是 CDC 与 Java SE 平台相融合这一长期工作的一部分。
Java SE 的 Profile 与 Java EE 的 Profile 有所不同。在 Java EE 中,Profile 是一个 JSR 规范集合,它实现之后表现为平台的一个子集。而在 Java SE 中,Profile 是一个指定的包列表。
Java SE 包含 Profile 是由于 Jigsaw 模块化解决方案目前存在问题,该方案最近又一次从头开始了。
按照最初的计划,Java 8 在本月发布,但是由于近来大量的安全问题困扰着平台,Oracle 明智地决定将其发布日期推迟到最早2014 年第一季度。
评论