Java8背景介绍:
Java 8 在2014年3月发布,现在公司内部Java相关的开发(包括服务器端和安卓客户端)所引用的JDK都是jdk1.8,但是几乎项目中没有使用Java 8的特性。
为什么使用Java 8?
目前,不管是服务器还是客户端的CPU都是多核的,而在Java 8 之前的程序只能使用一个核,除非利用多线程才会使用多个内核,而线程使用起来容易出现错误。
Java 8提供了一个新的API(称为“流”,Stream),支持许多数据的并行操作。流式处理的特点,程序中可以从输入流中一个一个读取数据项,然后以同样的方式将数据项写入输出流,一个程序的输出流也可以作为另一个程序的输入流。下面给出一个流式处理的流程图:
上述流图中,你可以把几个基础操作链接起来,来表达复杂的数据处理流水线(在filter后面接上sorted、map和collect操作,这些操作是流式自带的方法),同时代码保持清晰可读。filter的结果被传给sorted方法,再传给map方法,最后传给collect方法。即上述的代码可写为: