相关概念
1.流处理
java增加了stream Api,可以将链接起来成为一个复杂流水线。
处理流程类似于Linux的这样的命令cat file1 file2 | tr "[A-Z]" "[a-z]" | sort | tail -3
先将file1流和file2流合并再交给tr进行字符处理,处理完的流交给sort排序,最后再取末尾的三行数据。

2.用行为参数化把代码传递给方法
Java8增加了把方法作为参数传递给另一个方法的能力。
Stream API就是构建在通过传递代码使操作行为实现参数化的思想上的,当把compareUsingCustomerId方法传进去,你就把 sort的行为参数化了。

**3.**并行与可变共享数据
函数式变成方法不能共享相同的变量,所有的方法都是无状态的,这样才能并行的去处理数据。
4.方法和lambda(匿名函数)
方法可以作为参数来传递如下图

5.Collection和Stream的区别
Collection用于存储和访问数据,Stream用于描述对数据的计算。
6.默认方法
默认方法主要是为了写出更容易改进的接口。

上面这两行代码,invntory是List集合,在Java8之前并没有stream和parallelStream方法,如果使用Java8,那么所有的实现类都需要实现这个接口,那么也太麻烦了吧。于是就有了默认方法。接口也有实现了的方法了而且可以是多个。

其他函数式变成思想
处理空值和模式匹配。(暂时没有用过)
11万+

被折叠的 条评论
为什么被折叠?



