EclipseCon: Oracle发布Java 8

作为近两年来首次重要更新,Oracle在今天的EclipseCon上宣布Java 8的通用版本发布。可用下载包括Linux和Windows的32及64位安装包,Mac OS X和Solaris的64位安装包,以及能用于Raspbian和其他树莓派平台的ARM专用(为Hard Float ABI编译)安装包。

Java 8发布了一系列改进和新特性。包括:

  • Lambda表达式 可以像传数据一样传函数。需要传过滤器或其他谓词的情况下,像传数据那样,把函数隐式转换为单一抽象方法类型(如Runnable从而极大简化代码。(注意,此处称lambda表达式是因为,Java1.1版就以内部类的形式支持闭包;而那些被部分人误认的闭包,实际上是lambda表达式)。好比,x -> x +1
  • 方法引用 允许将所引用的静态方法作为函数,传给其他函数。例如,Integer::parseInt,可以被映射成String集合,以便生成Integer集合。
  • Stream 提供无穷序列(好比ThreadLocalRandom)或固定区间(诸如IntStream所生成的集合)值集的动态遍历。像遍历数据一样,这种并行处理,约简、过滤及映射的能力;和lambda一同为Java提供了函数式编程支持。
  • 扩展方法 提供了向已有接口添加新方法,而不重新编译接口实现类的途径。很多已有集合类利用这一特性为stream及其他参考工具的实现提供接口。没有这一特性,方法就要声明在Collection工具类中。
  • JSR310提供了全新的日期和时间处理方案,从而避免java.util.Date类和相关包所导致的层出不穷的问题。
  • PermGen不再使用:开发者不必再为加上-XX:PermGen,而提前苦苦猜测应用中会留有的字符串数目。
  • Nashorn 为JVM提供原生JavaScript支持,使得Java或其他基于JVM的语言在应用中充分利用JavaScript。
  • OpenJFX向OpenJDK引入JavaFX,为下一代IDE中基于JavaFX构建的GUI系统奠定基础。

所有主流IDE厂商在Java 8发布的同一天宣布提供支持,包括Eclipse 4.3.2的可用补丁,IntelliJ 13.1的微版本和NetBeans 8.0的全新版本,都向各自的IDE中添加了Java 8支持。作为下周开播的一部分,InfoQ会跟进Oracle,走访幕后。敬请关注。

查看英文原文:Oracle Releases Java 8 at EclipseCon

感谢杨赛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(EclipseCon: Oracle发布Java 8)