我们一直在期待着 Java 8 的新功能,虽然很大一部分是对 Java 7 的扩展,发布时间也一推再推。但如今甲骨文终于承诺:新版本将是彻底的变革而不仅仅是 Java 7 的扩展。那 Java 8 到底是什么样的呢?
甲骨文的 Java 总架构师马克?雷纳德在 2011 年 JavaOne 大会上为大家透露了 Java 8 的新功能,同时也谈到了一些关于 Java 9 的计划。他说,Java 7 未能实现五个关键的功能是非常遗憾的一件事,而且另外两个功能为了配合发布日期也只好作罢。马克认为,Java 7 的更新是非常重要的,他还暗示,Java 8 将从根本上改变编程语言的功能。看完下面的介绍你也许会明白马克的说法不是天方夜谭。
Java 8 包含两个主要项目:
1. Lambda
在 Lambda 项目中,多核处理器下的 Java 编程将更高效,Lambda 表达式可以帮助开发人员提高效率,更好地利用多核处理器。Lambda 项目还包括一个新的处理系统,该系统允许要求代码建模的编程模式作为数据。新功能一览:
● Lambda 表达式的运用
● 扩展目标类型化
● 方法和构造函数参考
● 默认方法
2. Jigsaw
Jigsaw 项目的目标是创建一个实用的方式来在 JDK 上设计和实施一个模块系统,然后将该系统应用于 JDK 本身。其关键是令大块的代码更易于管理,并促进应用和大型运算的代码重用。Jigsaw 项目还带来了许多新的表单功能,涉及封装、重构、版本和模块集成。
此外,除了这两个项目,Java 8 还增加改进了一些其他语言功能,如升级核心 Java 库使并行运算的表达更容易;虚拟扩展方法允许对接口增加方法,为默认实现指定参考;增加新的日期/时间 API,同时支持传感器,增加代码的部署选项。
Java 9、10的发展规划
甲骨文对 Java 8 的前景很是看好,并已经开始讨论 Java 9 发展的关键领域。比如加入一个 self-tuning JVM,提高本地集成和大规模多核的可扩展性;通过新的元对象协议和资源管理器为云应用添加跨语言支持。
甲骨文也表示,Java9和 10 将加入大数据、多语言的互操作性、云计算和移动,预期分别于 2015 年和 2017 年发布。而关于 Java 开发工具包(JDK)10以及之后的版本也正在讨论中,比如使 Java 语言面向对象,形成一个统一的类型系统,所有原语都将转换为对象和方法。
随着使用人数的增加,Java 正逐渐成为最常用的编程语言,令每个使用者都满意成了它的目标。甲骨文认为 Java 在将来会成为开发者们首选的编程语言,因为它可以实现的东西正好符合了开发者们的期望。