Java 8 开发者预览版发布

  • Charles Humble
  • 马德奎

2013 年 9 月 18 日

话题:Java函数式编程语言 & 开发

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 年第一季度。

查看英文原文:Java 8 Developer Preview Released

Java函数式编程语言 & 开发