新的改变
Java8提供了一个新的Api(称为“流”,Stream),它支持许多处理数据的并行操作,其思路是和在数据库查询语言中的思路类似-用更高级的方式表达想要的东西,而由“实现”(Stream库)来选择最佳低级执行机制,这样可以避免用synchronized编写代码,这一代码不仅容易出错,而且在多核Cpu上面执行所需的成本也比你想象的要高。
Java8里面将代码传递给方法的功能(同时也能够返回代码并将其包含在数据结构中)还让我们能够使用一整套新技巧,通常称为函数式编程。
1.流处理
流是一系列数据项,一次只生成一项。程序可以从输入流中一个一读取数据项,然后以同样的方式将数据项写入输出流。一个程序的输出流很可能是另一个程序的输入流。
Java8在java.util.stream中添加了一个Stream API; Stream是一系列T类型的项目。Stream API的很多方法可以链接起来形成一个复杂的流水线。
2.用行为参数化把代码传递给方法
直接通过传递方法的方式,不再在方法中调用另一个方法的方式实现。