一、Java8的介绍

Java8是Java历史上变化最大的一个版本。是Java向函数式风格迈进的一个开始,函数式编程有助于程序员编写出更简洁,表达力更强,并且在很多情况下能够利用并行硬件的代码。

 

二、New Features

Lambda表达式、Stream API、concurrent库的增强、注解增强、函数式接口、方法与构造方法引用、新的日期和时间的API

Lambda是为了编写处理批量数据的并行类库,增加代码在多核环境下的运行效率,而增加的新特性。

 

三、Java8的优越性

虽然,Java已经提供了例如泛型和继承等用于抽象的工具,但是只是关于数据抽象的;

Lambda提供的是对行为进行抽象的工具,这样函数式编程和面向对象编程就行程一个良好的互补关系,以应对未来编程任务的复杂性。

简言之,面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。

函数式代码具有易于阅读、易于维护、更可靠、更不容易出错的优点。

 

在写回调函数和事件处理程序时,程序员不必再纠缠于匿名内部类的冗繁和可读性,函数式编程让事件处理系统变得更加简单。

函数式代码能将函数方便地传递也让编写惰性代码变得容易,惰性代码在真正需要时才初始化变量的值。

Java 8 还让集合类可以拥有一些额外的方法:default 方法。程序员在维护自己的类库时,可以使用这些方法。

 

四、Goals of learning Java8:

 

  1. 如何通过lambda 表达式使用一行代码编写Java 函数,
  2. 如何使用新的StreamAPI 进行编程,
  3. 如何将冗长的集合处理代码压缩为简单且可读性更好的流程序
  4. 学习创建和消费流的机制,分析其性能
  5. 学习判断何时应该调用API 的并行执行特性。
  6. 学习对已有的集合接口进行演化,将新特性集成到现有的Java 平台库中
  7. 学习到如何通过默认方法来解决这些问题,如何在演化自己的API 时使用它们

 

五、函数式编程

核心是:在思考问题时,使用不可变值和函数,函数对一个值进行处理,映射成另一个值。有助于写出易读易维护的代码;

 

 

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐