0%

Java8实战PDF下载

《Java8实战》

链接: https://pan.baidu.com/s/15aXVvIX4lvGldhCU7fggdQ 提取码: hh1e

现代Java应用充分利用了微服务、反应式架构以及流式数据等创新设计。现代Java特性,譬如Lambda、流以及大家期待已久的Java模块系统让这些设计的实现极其便利。是时候更新技能工具箱了,只有这样,你才能从容应对迎面而来的种种挑战!

本书通过透彻的示例和通俗的语言讲解了Java语言这些激动人心的特性,作者注重细节,努力降低了学习难度,节省你宝贵的时间。依照本书边学边练,你可以很快掌握流应用程序接口、Java模块系统等现代Java新特性,再进一步去探寻实现并发的新方法,了解函数式编程如何帮你编写可读性好又容易维护的代码。潜心修炼,你的编程实力必能提高到新的层次。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267

一部分 基础知识

第 1 章 Java 8、9、10以及11的变化 2

1.1 为什么要关心Java的变化 2

1.2 Java怎么还在变 4

1.2.1 Java在编程语言生态系统中的位置 5

1.2.2 流处理 6

1.2.3 用行为参数化把代码传递给方法 7

1.2.4 并行与共享的可变数据 8

1.2.5 Java需要演变 9

1.3 Java中的函数 9

1.3.1 方法和Lambda作为一等值 10

1.3.2 传递代码:一个例子 11

1.3.3 从传递方法到Lambda 13

1.4 流 14

1.5 默认方法及Java模块 17

1.6 来自函数式编程的其他好思想 19

1.7 小结 20

第 2 章 通过行为参数化传递代码 22

2.1 应对不断变化的需求 23

2.1.1 初试牛刀:筛选绿苹果 23

2.1.2 再展身手:把颜色作为参数 23

2.1.3 第三次尝试:对你能想到的每个属性做筛选 24

2.2 行为参数化 25

2.3 对付啰唆 30

2.3.1 匿名类 30

2.3.2 第五次尝试:使用匿名类 31

2.3.3 第六次尝试:使用Lambda表达式 32

2.3.4 第七次尝试:将List类型抽象化 33

2.4 真实的例子 33

2.4.1 用Comparator来排序 33

2.4.2 用Runnable执行代码块 34

2.4.3 通过Callable返回结果 35

2.4.4 GUI事件处理 35

2.5 小结 36

第 3 章 Lambda表达式 37

3.1 Lambda管中窥豹 37

3.2 在哪里以及如何使用Lambda 40

3.2.1 函数式接口 40

3.2.2 函数描述符 42

3.3 把Lambda付诸实践:环绕执行模式 44

3.3.1 第 1 步:记得行为参数化 44

3.3.2 第 2 步:使用函数式接口来传递行为 45

3.3.3 第 3 步:执行一个行为 45

3.3.4 第 4 步:传递Lambda 46

3.4 使用函数式接口 47

3.4.1 Predicate 47

3.4.2 Consumer 47

3.4.3 Function 48

3.5 类型检查、类型推断以及限制 52

3.5.1 类型检查 52

3.5.2 同样的Lambda,不同的函数式接口 53

3.5.3 类型推断 55

3.5.4 使用局部变量 56

3.6 方法引用 57

3.6.1 管中窥豹 57

3.6.2 构造函数引用 60

3.7 Lambda和方法引用实战 62

3.7.1 第 1 步:传递代码 62

3.7.2 第 2 步:使用匿名类 62

3.7.3 第 3 步:使用Lambda表达式 62

3.7.4 第 4 步:使用方法引用 63

3.8 复合Lambda表达式的有用方法 63

3.8.1 比较器复合 64

3.8.2 谓词复合 64

3.8.3 函数复合 65

3.9 数学中的类似思想 66

3.9.1 积分 66

3.9.2 与Java 8的Lambda联系起来 68

3.10 小结 68

第二部分 使用流进行函数式数据处理

第 4 章 引入流 72

4.1 流是什么 72

4.2 流简介 76

4.3 流与集合 78

4.3.1 只能遍历一次 79

4.3.2 外部迭代与内部迭代 80

4.4 流操作 82

4.4.1 中间操作 83

4.4.2 终端操作 84

4.4.3 使用流 84

4.5 路线图 85

4.6 小结 85

第 5 章 使用流 86

5.1 筛选 87

5.1.1 用谓词筛选 87

5.1.2 筛选各异的元素 87

5.2 流的切片 88

5.2.1 使用谓词对流进行切片 88

5.2.2 截短流 90

5.2.3 跳过元素 90

5.3 映射 91

5.3.1 对流中每一个元素应用函数 91

5.3.2 流的扁平化 92

5.4 查找和匹配 95

5.4.1 检查谓词是否至少匹配一个元素 95

5.4.2 检查谓词是否匹配所有元素 96

5.4.3 查找元素 96

5.4.4 查找第 一个元素 97

5.5 归约 98

5.5.1 元素求和 98

5.5.2 大值和小值 100

5.6 付诸实践 103

5.6.1 领域:交易员和交易 103

5.6.2 解答 104

5.7 数值流 106

5.7.1 原始类型流特化 107

5.7.2 数值范围 108

5.7.3 数值流应用:勾股数 108

5.8 构建流 111

5.8.1 由值创建流 111

5.8.2 由可空对象创建流 111

5.8.3 由数组创建流 112

5.8.4 由文件生成流 112

5.8.5 由函数生成流:创建无限流 113

5.9 概述 116

5.10 小结 116

第 6 章 用流收集数据 118

6.1 收集器简介 119

6.1.1 收集器用作高级归约 119

6.1.2 预定义收集器 120

6.2 归约和汇总 121

6.2.1 查找流中的大值和小值 121

6.2.2 汇总 122

6.2.3 连接字符串 123

6.2.4 广义的归约汇总 124

6.3 分组 127

6.3.1 操作分组的元素 128

6.3.2 多级分组 130

6.3.3 按子组收集数据 131

6.4 分区 134

6.4.1 分区的优势 135

6.4.2 将数字按质数和非质数分区 136

......


最后,这里为大家准备了几百本的互联网电子书,有需要的过来取吧。点击获取

本页书籍均来自网络,如有侵权,请联系我立即删除。我的邮箱:yaojianguolq@163.com

------ 全文结束------