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:参与创作本专辑的艺术家列表