Scala语言基础与开发实战PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:王家林,管祥青等编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:9787111541691
- 页数:407 页
基础篇 3
第1章 Scala零基础入门 3
1.1 Scala概述 3
1.2 Windows及Linux下Scale运行环境安装配置 4
1.2.1 软件工具准备 4
1.2.2 Windows环境下的Scala安装 6
1.2.3 Linux环境下的Scala安装 10
1.2.4 Linux环境下的Hadoop安装与配置 13
1.2.5 Linux环境下的Spark安装与配置 23
1.3 Scala开发环境搭建和HelloWorld实例 28
1.3.1 Scala集成开发工具的安装 28
1.3.2 HelloWorld编程实例 30
1.3.3 WorkSheet的使用 36
1.4 变量的使用 37
1.4.1 Scala解释器中的变量示例 37
1.4.2 val变量的定义 38
1.4.3 var变量的定义 39
1.4.4 var变量与val变量的使用比较 39
1.5 函数的定义、流程控制、异常处理 41
1.5.1 函数的定义 41
1.5.2 流程控制(if、while、for) 43
1.5.3 异常处理 52
1.6 Tuple、Array、Map与文件操作 54
1.6.1 Tuple元组 54
1.6.2 Array数组 56
1.6.3 文件操作 59
1.6.4 Map映射 62
1.7 Scala中的apply方法 63
1.7.1 Object中的apply 63
1.7.2 Class中的apply 64
1.7.3 Array数组的apply实现 65
1.8 小结 66
第2章 Scala面向对象编程开发 67
2.1 类的定义及属性 67
2.1.1 类定义 67
2.1.2 带有getter和setter的属性 68
2.2 主构造器、私有构造器、构造器重载 70
2.2.1 构造器重载之辅助构造器 70
2.2.2 主构造器 71
2.2.3 不同访问权限的构造器 72
2.3 内部类和外部类 73
2.4 单例对象、伴生对象 77
2.5 继承:超类的构造、重写字段、重写方法 78
2.5.1 超类的构造 79
2.5.2 重写字段 80
2.5.3 重写方法 80
2.6 抽象类、抽象字段、抽象方法 82
2.6.1 抽象类 82
2.6.2 抽象字段 82
2.6.3 抽象方法 82
2.7 trait特质 83
2.7.1 作为接口使用的trait 84
2.7.2 在对象中混入trait 85
2.7.3 trait深入解析 86
2.8 多重继承、多重继承构造器执行顺序及AOP实现 88
2.8.1 多重继承 88
2.8.2 多重继承构造器执行顺序 89
2.8.3 AOP实现 89
2.9 包的定义、包对象、包的引用、包的隐式引用 91
2.9.1 包的定义 91
2.9.2 包对象 91
2.9.3 包的引用 92
2.9.4 包的隐式引用 92
2.10 包、类、对象、成员、伴生类、伴生对象访问权限 92
2.10.1 包、类、对象、成员访问权限 92
2.10.2 伴生类、伴生对象访问权限 93
2.11 小结 94
第3章 Scala高阶函数 95
3.1 匿名函数 95
3.2 偏应用函数 96
3.3 闭包 98
3.4 SAM转换 100
3.5 Curring函数 102
3.6 高阶函数 103
3.7 高阶函数在Spark中的应用 107
3.8 小结 109
中级篇 113
第4章 Scala模式匹配 113
4.1 模式匹配简介 113
4.2 模式匹配类型 115
4.2.1 常量模式 116
4.2.2 变量模式 116
4.2.3 构造器模式 117
4.2.4 序列(Sequence)模式 118
4.2.5 元组(Tuple)模式 119
4.2.6 类型模式 120
4.2.7 变量绑定模式 121
4.3 模式匹配与Case Class 122
4.3.1 构造器模式匹配原理 122
4.3.2 序列模式匹配原理 125
4.3.3 Sealed Class在模式匹配中的应用 126
4.4 模式匹配应用实例 127
4.4.1 for循环控制结构中的模式匹配 127
4.4.2 正则表达式中的模式匹配 128
4.4.3 异常处理中的模式匹配 132
4.4.4 Spark源码中的模式匹配使用 133
4.5 小结 136
第5章 Scala集合 137
5.1 可变集合与不可变集合(Collection) 137
5.1.1 集合的概述 137
5.1.2 集合的相关操作 141
5.1.3 集合的操作示例 145
5.2 序列(Seq) 151
5.2.1 序列的概述 151
5.2.2 序列的相关操作 152
5.2.3 序列的操作示例 154
5.3 列表(List) 158
5.3.1 列表的概述 158
5.3.2 列表的相关操作 158
5.3.3 列表的操作示例 159
5.4 集(Set) 161
5.4.1 集的概述 161
5.4.2 集的相关操作 162
5.4.3 集的操作示例 164
5.5 映射(Map) 165
5.5.1 映射的概述 165
5.5.2 映射的相关操作 166
5.5.3 映射的操作示例 168
5.6 迭代器(Iterator) 172
5.6.1 迭代器的概述 172
5.6.2 迭代器的相关操作 173
5.6.3 迭代器的操作示例 176
5.7 集合的架构 185
5.8 小结 189
高级篇 193
第6章 Scala类型参数 193
6.1 泛型 193
6.1.1 泛型的概述 193
6.1.2 泛型的操作示例 194
6.2 界定 195
6.2.1 上下界界定 196
6.2.2 视图界定 196
6.2.3 上下文界定 196
6.2.4 多重界定 196
6.2.5 界定的操作示例 197
6.3 类型约束 204
6.3.1 类型约束的概述 204
6.3.2 类型约束的操作示例 205
6.4 类型系统 205
6.4.1 类型系统的概述 205
6.4.2 类型系统的操作示例 206
6.5 型变Variance 207
6.5.1 协变 208
6.5.2 逆变 208
6.5.3 协变与逆变的操作示例 208
6.6 结合Spark源码说明Scala类型参数的使用 210
6.7 小结 212
第7章 Scala高级类型 213
7.1 单例类型 213
7.1.1 单例类型概述 213
7.1.2 单例类型示例 214
7.2 类型别名 217
7.2.1 类型别名概述 217
7.2.2 类型别名示例 217
7.3 自身类型 218
7.3.1 自身类型概述 218
7.3.2 自身类型示例 219
7.4 中置类型 219
7.4.1 中置类型概述 219
7.4.2 中置类型示例 219
7.5 类型投影 221
7.5.1 类型投影概述 221
7.5.2 类型投影实例 221
7.6 结构类型 223
7.6.1 结构类型概述 223
7.6.2 结构类型示例 224
7.7 复合类型 226
7.7.1 复合类型概述 226
7.7.2 复合类型示例 226
7.8 存在类型 227
7.8.1 存在类型概述 227
7.8.2 存在类型示例 227
7.9 函数类型 229
7.9.1 函数类型概述 229
7.9.2 函数类型示例 229
7.10 抽象类型 230
7.10.1 抽象类型概述 230
7.10.2 抽象类型实例 230
7.11 Spark源码中的高级类型使用 231
7.12 小结 233
第8章 Scala隐式转换 234
8.1 隐式转换函数 234
8.1.1 隐式转换函数的定义 234
8.1.2 隐式转换函数的功能 235
8.2 隐式类与隐式对象 236
8.2.1 隐式类 236
8.2.2 隐式参数与隐式值 237
8.3 类型证明中的隐式转换 239
8.3.1 类型证明的定义 239
8.3.2 类型证明使用实例 239
8.4 上下文界定、视图界定中的隐式转换 241
8.4.1 Ordering与Ordered特质 241
8.4.2 视图界定中的隐式转换 245
8.4.3 上下文界定中的隐式转换 246
8.5 隐式转换规则 248
8.5.1 发生隐式转换的条件 248
8.5.2 不会发生隐式转换的条件 249
8.6 Spark源码中的隐式转换使用 252
8.6.1 隐式转换函数 252
8.6.2 隐式类 253
8.6.3 隐式参数 253
8.7 小结 253
第9章 Scala并发编程 255
9.1 Scala的Actor模型简介 256
9.2 Scala Actor的构建方式 256
9.2.1 继承Actor类 256
9.2.2 Actor工具方法 257
9.3 Actor的生命周期 258
9.3.1 start方法的等幂性 258
9.3.2 Actor的不同状态 259
9.4 Actor之间的通信 260
9.4.1 Actor之间发送消息 260
9.4.2 Actor接收消息 260
9.5 使用react重用线程提升性能 262
9.6 Channel通道 263
9.6.1 OutputChannel 264
9.6.2 InputChannel 264
9.6.3 创建和共享channel 264
9.7 同步和Future 266
9.8 Scala并发编程实例 266
9.8.1 Scala Actor并发编程 267
9.8.2 ExecutorService并发编程 268
9.9 小结 269
分布式框架篇 273
第10章 Akka的设计理念 273
10.1 Akka框架模型 274
10.2 创建Actor 275
10.2.1 通过实现akka.actor.Actor来创建Actor类 275
10.2.2 使用非缺省构造方法创建Actor 277
10.2.3 创建匿名Actor 278
10.3 Actor API 280
10.3.1 Actor trait基本接口 280
10.3.2 使用Death Watch进行生命周期监控 281
10.3.3 Hook函数的调用 282
10.3.4 查找Actor 283
10.3.5 消息的不可变性 283
10.3.6 发送消息 283
10.3.7 转发消息 287
10.3.8 接收消息 287
10.3.9 回应消息 287
10.3.10 终止Actor 288
10.3.11 Become/Unbecome 289
10.3.12 杀死Actor 290
10.4 不同类型的Actor 290
10.4.1 方法派发语义 294
10.4.2 终止有类型Actor 295
10.5 小结 295
第11章 Akka核心组件及核心特性剖析 296
11.1 Dispatchers和Routers 296
11.1.1 为Actor指定派发器 297
11.1.2 派发器的类型 298
11.1.3 邮箱 300
11.1.4 Routers 300
11.1.5 路由的使用 301
11.1.6 远程部署router 302
11.2 Supervision和Monitoring 302
11.2.1 Supervision 302
11.2.2 Monitoring 305
11.3 Akka中的事务 306
11.3.1 STM 306
11.3.2 使用STM事务 308
11.3.3 读取Agent事务中的数据 309
11.3.4 更新Agent事务中的数据 311
11.3.5 Actor中的事务 313
11.3.6 创建Transactor 316
11.4 小结 318
第12章 Akka程序设计实践 319
12.1 Akka的配置、日志及部署 319
12.1.1 Akka中配置文件的读写 319
12.1.2 Akka中日志配置 323
12.1.3 Akka部署及应用场景 324
12.2 使用Akka框架实现单词统计 324
12.3 分布式Akka环境搭建 329
12.4 使用Akka微内核部署应用 333
12.5 Akka框架在Spark中的运用 334
12.6 小结 338
第13章 Kafka设计理念与基本架构 339
13.1 Kafka产生的背景 339
13.2 消息队列系统 340
13.2.1 概述 340
13.2.2 常用的消息队列系统对比 341
13.2.3 Kafka特点及特性 342
13.2.4 Kafka系统应用场景 342
13.3 Kafka设计理念 343
13.3.1 专业术语解析 343
13.3.2 消息存储与缓存设计 344
13.3.3 消费者与生产者模型 344
13.3.4 Push与Pull机制 345
13.3.5 镜像机制 346
13.4 Kafka整体架构 346
13.4.1 Kafka基本组成结构 346
13.4.2 Kafka工作流程 347
13.5 Kafka性能分析及优化 348
13.6 Kafka未来研究方向 350
13.7 小结 352
第14章 Kafka核心组件及核心特性剖析 353
14.1 Kafka核心组件剖析 353
14.1.1 Producers 353
14.1.2 Consumers 354
14.1.3 Low Level Consumer 355
14.1.4 High Level Consumer 356
14.2 Kafka核心特性剖析 357
14.2.1 Topic、Partitions 357
14.2.2 Replication和Leader Election 359
14.2.3 Consumer Rebalance 361
14.2.4 消息传送机制 363
14.2.5 Kafka的可靠性 364
14.2.6 Kafka的高效性 364
14.3 Kafka即将发布版本核心组件及特性剖析 365
14.3.1 重新设计的Consumer 365
14.3.2 Coordinator Rebalance 366
14.4 小结 370
第15章 Kafka应用实践 371
15.1 Kafka开发环境搭建及运行环境部署 371
15.1.1 Kafka开发环境配置 371
15.1.2 Kafka运行环境安装与部署 374
15.2 基于Kafka客户端开发 381
15.2.1 消息生产者(Producer)设计 382
15.2.2 消息消费者(Consumer)设计 384
15.2.3 Kafka消费者与生产者配置 390
15.3 Spark Streaming整合Kafka 392
15.3.1 基本架构设计流程 392
15.3.2 消息消费者(Consumer)设计——基于Receiver方法 393
15.3.3 消息消费者(Consumer)设计——基于No Receiver方法 398
15.3.4 消息生产者(Producer)设计 401
15.4 小结 403
附录 Kafka集群server. properties配置文档 404
参考文献 407
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《看视频零基础学英语口语》宋德伟 2019
- 《Python3从入门到实战》董洪伟 2019
- 《胃癌基础病理》(日)塚本彻哉编者;宫健,刘石译者 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《家》高铁林,王力军文;胡博综图 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019