第1章 走进新生代的Java 1
1.1从外部迭代到内部迭代 2
1.1.1内部迭代 4
1.1.2命令模式 6
1.1.3 lambda表达式 8
1.2从集合到流 11
1.3从串行到并行 15
1.4组合行为 18
1.5小结 22
第2章 Java lambda表达式的基础知识 23
2.1 lambda表达式的定义 24
2.2 lambda与匿名内部类 26
2.2.1无标识性问题 26
2.2.2 lambda的作用域规则 27
2.3变量捕获 29
2.4函数式接口 32
2.5使用lambda表达式 37
2.6方法与构造器引用 39
2.6.1静态方法引用 40
2.6.2实例方法引用 41
2.6.3构造器引用 44
2.7类型检查 44
2.7.1何为函数类型 45
2.7.2匹配函数类型 46
2.8重载解析 48
2.8.1 lambda表达式的重载 49
2.8.2方法引用的重载 52
2.9小结 54
第3章 流与管道介绍 55
3.1流基础 56
3.1.1面向并行的代码 59
3.1.2原生流 61
3.2剖析管道 63
3.2.1开始管道 63
3.2.2转换管道 64
3.2.3非侵入性 75
3.2.4终止管道 78
3.3小结 90
第4章 终止流:收集与汇聚 91
4.1使用收集器 94
4.1.1独立的预定义收集器 94
4.1.2组合收集器 99
4.1.3链接管道 104
4.1.4示例说明:最流行的主题 106
4.2剖析收集器 108
4.3编写收集器 111
4.3.1完成器 115
4.3.2示例说明:找到我的书 118
4.3.3收集器的规则 122
4.4汇聚 124
4.4.1对原生值的汇聚 124
4.4.2对引用流的汇聚 126
4.4.3通过汇聚来组合收集器 131
4.5小结 132
第5章 起始流:源与分割迭代器 135
5.1创建流 136
5.2分割迭代器与Fork/Join 145
5.3异常 149
5.4示例说明:递归grep 155
5.5小结 166
第6章 流的性能 167
6.1微基准度量 170
6.1.1度量动态运行时 171
6.1.2 Java Microbenchmarking Hamess 173
6.1.3试验方法 174
6.2选择执行模式 178
6.3流的特性 181
6.4排序 184
6.5有状态操作与无状态操作 187
6.6装箱与拆箱 188
6.7分割迭代器性能 189
6.8收集器性能 190
6.8.1并发Map的合并 190
6.8.2性能分析:对点进行分组 192
6.8.3性能分析:找到我的书 192
6.9小结 194
第7章 使用默认方法演化API 195
7.1使用默认方法 199
7.2抽象类的角色是什么 201
7.3默认方法的语法 203
7.4默认方法与继承 204
7.5接口中的静态方法 211
7.6小结 213
本书总结 215