1.1 为什么再次修改Java

多核CPU的出现,大大提高了计算机的处理能力。人们开发的java.util.concurrent包和很多第三方类库,试图将并发抽象化,帮助程序员写出在多核CPU上运行良好的程序。很可惜,目前成果还不够。处理大型数据集合就是一个很好的例子。面对大型数据集合,java还欠缺高效的并行操作。开发者能够使用java8编写复杂的集合处理算法,只需要简单修改一个方法,就能让代码在多核CPU高效执行。为了编写这类处理批量数据的并行类库,需要在语言层面修改现有的java:增加Lambda表达式。

1.2 什么是函数式编程

每个人对函数式编程有不同的理解,其核心是:使用不可变值和函数,函数对一个值进行处理,映射成另一个值。

1.3 示例

后面示例主要围绕一个常见问题进行领域构造:音乐    Artist:创建音乐的个人或团队        name:艺术家的名字        member:乐队成员        origin:乐队来自于哪里    Track:专辑的一支曲目        name:曲目名称    Album:专辑,有若干曲目组成        name:专辑名        tracks:专辑上所有曲目的列表        musicians:参与创作本专辑的艺术家列表