我们一直在期待着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在将来会成为开发者们首选的编程语言,因为它可以实现的东西正好符合了开发者们的期望。