App 下载
注册
登录
|
搜索
正在搜索中...
首页
我的书架
我的主页
我的收藏
我的书评
通过每一章的练习快速掌握Java 8中的Lambda表达式 分析流、高级集合和其他Java 8类库的改进 利用多核CPU提高数据并发的性能 将现有代码库和库代码Lambd
……
[ 展开全部 ]
a化 学习Lambda表达式单元测试和调试的实践解决方案 用Lambda表达式实现面向对象编程的SOLID原则 编写能有效执行消息传送和非阻塞I/O的并发应用
[ 收起 ]
作者:[英] Richard Warburton
出版社:人民邮电出版社
定价:39.00元
ISBN:7115384886
给个评价
做个书摘
书摘 (21 )
评价 (1 )
查看所有书摘
按目录显示书摘
只显示目录
前言 IX
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第1章 简介 1
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.1 为什么需要再次修改Java 1
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2 什么是函数式编程 2
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3 示例 2
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第2章 Lambda 表达式 5
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.1 第一个Lambda 表达式 5
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2 如何辨别Lambda 表达式 6
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3 引用值,而不是变量 8
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.4 函数接口 9
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.5 类型推断 10
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.6 要点回顾 12
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.7 练习 12
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第3章 流 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.1 从外部迭代到内部迭代 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.2 实现机制 17
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3 常用的流操作 19
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.1 collect(toList()) 19
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.2 map 19
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.3 filter 21
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.4 flatMap 22
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.5 max 和min 23
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.6 通用模式 24
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.7 reduce 24
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.8 整合操作 26
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.4 重构遗留代码 27
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5 多次调用流操作 30
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.6 高阶函数 31
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.7 正确使用Lambda 表达式 31
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8 要点回顾 32
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9 练习 32
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.10 进阶练习 33
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第4章 类库 35
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1 在代码中使用Lambda 表达式 35
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.2 基本类型 36
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.3 重载解析 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.4 @FunctionalInterface 40
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5 二进制接口的兼容性 40
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.6 默认方法 41
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7 多重继承 45
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.8 权衡 46
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.9 接口的静态方法 46
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.10 Optional 47
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.11 要点回顾 48
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.12 练习 48
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.13 开放练习 49
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第5章 高级集合类和收集器 51
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1 方法引用 51
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2 元素顺序 52
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3 使用收集器 54
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.1 转换成其他集合 54
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.2 转换成值 55
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.3 数据分块 55
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.4 数据分组 56
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.5 字符串 57
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.6 组合收集器 58
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.7 重构和定制收集器 60
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.8 对收集器的归一化处理 65
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.4 一些细节 66
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.5 要点回顾 67
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.6 练习 67
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第6章 数据并行化 69
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1 并行和并发 69
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2 为什么并行化如此重要 70
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3 并行化流操作 71
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.4 模拟系统 72
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.5 限制 75
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.6 性能 75
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7 并行化数组操作 78
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8 要点回顾 80
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.9 练习 80
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第7章 测试、调试和重构 81
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1 重构候选项 81
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.1 进进出出、摇摇晃晃 82
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.2 孤独的覆盖 82
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.3 同样的东西写两遍 83
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2 Lambda 表达式的单元测试 85
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3 在测试替身时使用Lambda 表达式 87
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.4 惰性求值和调试 89
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.5 日志和打印消息 89
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.6 解决方案:peak 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.7 在流中间设置断点 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.8 要点回顾 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第8章 设计和架构的原则 91
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1 Lambda 表达式改变了设计模式 92
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.1 命令者模式 92
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.2 策略模式 95
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.3 观察者模式 97
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.4 模板方法模式 100
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2 使用Lambda 表达式的领域专用语言 102
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2.1 使用Java 编写DSL 103
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2.2 实现 104
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2.3 评估 106
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3 使用Lambda 表达式的SOLID 原则 106
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3.1 单一功能原则 107
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3.2 开闭原则 109
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3.3 依赖反转原则 111
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.4 进阶阅读 114
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5 要点回顾 114
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第9章 使用Lambda 表达式编写并发程序 115
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.1 为什么要使用非阻塞式I/O 115
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2 回调 116
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3 消息传递架构 119
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.4 末日金字塔 120
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5 Future 122
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.6 CompletableFuture 123
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.7 响应式编程 126
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.8 何时何地使用新技术 128
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.9 要点回顾 129
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.10 练习 129
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第10章 下一步该怎么办 131
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
封面介绍 133
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
导购链接
×
做书摘
文字书摘
读图识字
至少还需要输入
10
字
保存原图片为书摘
上传图片
识别
最多输入
500
个字
上传图片
重新上传
写点笔记吧
至少还需要输入
10
字
章节(选填)
前言 IX
第1章 简介 1
1.1 为什么需要再次修改Java 1
1.2 什么是函数式编程 2
1.3 示例 2
第2章 Lambda 表达式 5
2.1 第一个Lambda 表达式 5
2.2 如何辨别Lambda 表达式 6
2.3 引用值,而不是变量 8
2.4 函数接口 9
2.5 类型推断 10
2.6 要点回顾 12
2.7 练习 12
第3章 流 15
3.1 从外部迭代到内部迭代 15
3.2 实现机制 17
3.3 常用的流操作 19
3.3.1 collect(toList()) 19
3.3.2 map 19
3.3.3 filter 21
3.3.4 flatMap 22
3.3.5 max 和min 23
3.3.6 通用模式 24
3.3.7 reduce 24
3.3.8 整合操作 26
3.4 重构遗留代码 27
3.5 多次调用流操作 30
3.6 高阶函数 31
3.7 正确使用Lambda 表达式 31
3.8 要点回顾 32
3.9 练习 32
3.10 进阶练习 33
第4章 类库 35
4.1 在代码中使用Lambda 表达式 35
4.2 基本类型 36
4.3 重载解析 38
4.4 @FunctionalInterface 40
4.5 二进制接口的兼容性 40
4.6 默认方法 41
4.7 多重继承 45
4.8 权衡 46
4.9 接口的静态方法 46
4.10 Optional 47
4.11 要点回顾 48
4.12 练习 48
4.13 开放练习 49
第5章 高级集合类和收集器 51
5.1 方法引用 51
5.2 元素顺序 52
5.3 使用收集器 54
5.3.1 转换成其他集合 54
5.3.2 转换成值 55
5.3.3 数据分块 55
5.3.4 数据分组 56
5.3.5 字符串 57
5.3.6 组合收集器 58
5.3.7 重构和定制收集器 60
5.3.8 对收集器的归一化处理 65
5.4 一些细节 66
5.5 要点回顾 67
5.6 练习 67
第6章 数据并行化 69
6.1 并行和并发 69
6.2 为什么并行化如此重要 70
6.3 并行化流操作 71
6.4 模拟系统 72
6.5 限制 75
6.6 性能 75
6.7 并行化数组操作 78
6.8 要点回顾 80
6.9 练习 80
第7章 测试、调试和重构 81
7.1 重构候选项 81
7.1.1 进进出出、摇摇晃晃 82
7.1.2 孤独的覆盖 82
7.1.3 同样的东西写两遍 83
7.2 Lambda 表达式的单元测试 85
7.3 在测试替身时使用Lambda 表达式 87
7.4 惰性求值和调试 89
7.5 日志和打印消息 89
7.6 解决方案:peak 90
7.7 在流中间设置断点 90
7.8 要点回顾 90
第8章 设计和架构的原则 91
8.1 Lambda 表达式改变了设计模式 92
8.1.1 命令者模式 92
8.1.2 策略模式 95
8.1.3 观察者模式 97
8.1.4 模板方法模式 100
8.2 使用Lambda 表达式的领域专用语言 102
8.2.1 使用Java 编写DSL 103
8.2.2 实现 104
8.2.3 评估 106
8.3 使用Lambda 表达式的SOLID 原则 106
8.3.1 单一功能原则 107
8.3.2 开闭原则 109
8.3.3 依赖反转原则 111
8.4 进阶阅读 114
8.5 要点回顾 114
第9章 使用Lambda 表达式编写并发程序 115
9.1 为什么要使用非阻塞式I/O 115
9.2 回调 116
9.3 消息传递架构 119
9.4 末日金字塔 120
9.5 Future 122
9.6 CompletableFuture 123
9.7 响应式编程 126
9.8 何时何地使用新技术 128
9.9 要点回顾 129
9.10 练习 129
第10章 下一步该怎么办 131
封面介绍 133
页码(选填)
这本书已经添加了这些章节,请勾选或者新建你的书摘所属的章节
add
up
down
remove
前言 IX
第1章 简介 1
1.1 为什么需要再次修改Java 1
1.2 什么是函数式编程 2
1.3 示例 2
第2章 Lambda 表达式 5
2.1 第一个Lambda 表达式 5
2.2 如何辨别Lambda 表达式 6
2.3 引用值,而不是变量 8
2.4 函数接口 9
2.5 类型推断 10
2.6 要点回顾 12
2.7 练习 12
第3章 流 15
3.1 从外部迭代到内部迭代 15
3.2 实现机制 17
3.3 常用的流操作 19
3.3.1 collect(toList()) 19
3.3.2 map 19
3.3.3 filter 21
3.3.4 flatMap 22
3.3.5 max 和min 23
3.3.6 通用模式 24
3.3.7 reduce 24
3.3.8 整合操作 26
3.4 重构遗留代码 27
3.5 多次调用流操作 30
3.6 高阶函数 31
3.7 正确使用Lambda 表达式 31
3.8 要点回顾 32
3.9 练习 32
3.10 进阶练习 33
第4章 类库 35
4.1 在代码中使用Lambda 表达式 35
4.2 基本类型 36
4.3 重载解析 38
4.4 @FunctionalInterface 40
4.5 二进制接口的兼容性 40
4.6 默认方法 41
4.7 多重继承 45
4.8 权衡 46
4.9 接口的静态方法 46
4.10 Optional 47
4.11 要点回顾 48
4.12 练习 48
4.13 开放练习 49
第5章 高级集合类和收集器 51
5.1 方法引用 51
5.2 元素顺序 52
5.3 使用收集器 54
5.3.1 转换成其他集合 54
5.3.2 转换成值 55
5.3.3 数据分块 55
5.3.4 数据分组 56
5.3.5 字符串 57
5.3.6 组合收集器 58
5.3.7 重构和定制收集器 60
5.3.8 对收集器的归一化处理 65
5.4 一些细节 66
5.5 要点回顾 67
5.6 练习 67
第6章 数据并行化 69
6.1 并行和并发 69
6.2 为什么并行化如此重要 70
6.3 并行化流操作 71
6.4 模拟系统 72
6.5 限制 75
6.6 性能 75
6.7 并行化数组操作 78
6.8 要点回顾 80
6.9 练习 80
第7章 测试、调试和重构 81
7.1 重构候选项 81
7.1.1 进进出出、摇摇晃晃 82
7.1.2 孤独的覆盖 82
7.1.3 同样的东西写两遍 83
7.2 Lambda 表达式的单元测试 85
7.3 在测试替身时使用Lambda 表达式 87
7.4 惰性求值和调试 89
7.5 日志和打印消息 89
7.6 解决方案:peak 90
7.7 在流中间设置断点 90
7.8 要点回顾 90
第8章 设计和架构的原则 91
8.1 Lambda 表达式改变了设计模式 92
8.1.1 命令者模式 92
8.1.2 策略模式 95
8.1.3 观察者模式 97
8.1.4 模板方法模式 100
8.2 使用Lambda 表达式的领域专用语言 102
8.2.1 使用Java 编写DSL 103
8.2.2 实现 104
8.2.3 评估 106
8.3 使用Lambda 表达式的SOLID 原则 106
8.3.1 单一功能原则 107
8.3.2 开闭原则 109
8.3.3 依赖反转原则 111
8.4 进阶阅读 114
8.5 要点回顾 114
第9章 使用Lambda 表达式编写并发程序 115
9.1 为什么要使用非阻塞式I/O 115
9.2 回调 116
9.3 消息传递架构 119
9.4 末日金字塔 120
9.5 Future 122
9.6 CompletableFuture 123
9.7 响应式编程 126
9.8 何时何地使用新技术 128
9.9 要点回顾 129
9.10 练习 129
第10章 下一步该怎么办 131
封面介绍 133
×
添加一个书摘本
搜索创建书摘本
搜索
正在搜索...
不对,换一下
书名
作者
出版社
备注
ISBN
*
*
前言 IX
第1章 简介 1
1.1 为什么需要再次修改Java 1
1.2 什么是函数式编程 2
1.3 示例 2
第2章 Lambda 表达式 5
2.1 第一个Lambda 表达式 5
2.2 如何辨别Lambda 表达式 6
2.3 引用值,而不是变量 8
2.4 函数接口 9
2.5 类型推断 10
2.6 要点回顾 12
2.7 练习 12
第3章 流 15
3.1 从外部迭代到内部迭代 15
3.2 实现机制 17
3.3 常用的流操作 19
3.3.1 collect(toList()) 19
3.3.2 map 19
3.3.3 filter 21
3.3.4 flatMap 22
3.3.5 max 和min 23
3.3.6 通用模式 24
3.3.7 reduce 24
3.3.8 整合操作 26
3.4 重构遗留代码 27
3.5 多次调用流操作 30
3.6 高阶函数 31
3.7 正确使用Lambda 表达式 31
3.8 要点回顾 32
3.9 练习 32
3.10 进阶练习 33
第4章 类库 35
4.1 在代码中使用Lambda 表达式 35
4.2 基本类型 36
4.3 重载解析 38
4.4 @FunctionalInterface 40
4.5 二进制接口的兼容性 40
4.6 默认方法 41
4.7 多重继承 45
4.8 权衡 46
4.9 接口的静态方法 46
4.10 Optional 47
4.11 要点回顾 48
4.12 练习 48
4.13 开放练习 49
第5章 高级集合类和收集器 51
5.1 方法引用 51
5.2 元素顺序 52
5.3 使用收集器 54
5.3.1 转换成其他集合 54
5.3.2 转换成值 55
5.3.3 数据分块 55
5.3.4 数据分组 56
5.3.5 字符串 57
5.3.6 组合收集器 58
5.3.7 重构和定制收集器 60
5.3.8 对收集器的归一化处理 65
5.4 一些细节 66
5.5 要点回顾 67
5.6 练习 67
第6章 数据并行化 69
6.1 并行和并发 69
6.2 为什么并行化如此重要 70
6.3 并行化流操作 71
6.4 模拟系统 72
6.5 限制 75
6.6 性能 75
6.7 并行化数组操作 78
6.8 要点回顾 80
6.9 练习 80
第7章 测试、调试和重构 81
7.1 重构候选项 81
7.1.1 进进出出、摇摇晃晃 82
7.1.2 孤独的覆盖 82
7.1.3 同样的东西写两遍 83
7.2 Lambda 表达式的单元测试 85
7.3 在测试替身时使用Lambda 表达式 87
7.4 惰性求值和调试 89
7.5 日志和打印消息 89
7.6 解决方案:peak 90
7.7 在流中间设置断点 90
7.8 要点回顾 90
第8章 设计和架构的原则 91
8.1 Lambda 表达式改变了设计模式 92
8.1.1 命令者模式 92
8.1.2 策略模式 95
8.1.3 观察者模式 97
8.1.4 模板方法模式 100
8.2 使用Lambda 表达式的领域专用语言 102
8.2.1 使用Java 编写DSL 103
8.2.2 实现 104
8.2.3 评估 106
8.3 使用Lambda 表达式的SOLID 原则 106
8.3.1 单一功能原则 107
8.3.2 开闭原则 109
8.3.3 依赖反转原则 111
8.4 进阶阅读 114
8.5 要点回顾 114
第9章 使用Lambda 表达式编写并发程序 115
9.1 为什么要使用非阻塞式I/O 115
9.2 回调 116
9.3 消息传递架构 119
9.4 末日金字塔 120
9.5 Future 122
9.6 CompletableFuture 123
9.7 响应式编程 126
9.8 何时何地使用新技术 128
9.9 要点回顾 129
9.10 练习 129
第10章 下一步该怎么办 131
封面介绍 133