買這商品的人也買了...
-
$580$452 -
$360$281 -
$500$425 -
$680$537 -
$780$616 -
$360$284 -
$648$616 -
$454Spring 實戰, 4/e (Spring in Action, 4/e)
-
$580$458 -
$454Spring Cloud 微服務實戰
-
$780$616 -
$450$356 -
$380$300 -
$390$332 -
$958深度學習
-
$480$379 -
$650$507 -
$580$458 -
$420$328 -
$580$452 -
$300$255 -
$620$527 -
$500$390 -
$500$390 -
$734Scala 編程, 3/e (Programming in Scala : Updated for Scala 2.12, 3/e)
相關主題
商品描述
本書分為基礎篇、中級篇、高級篇及分佈式框架四大部分,從Scala零基礎入門,步步深入,引導讀者由淺入深地學習Scala及其應用。本書從手把手指引讀者搭建Scala語言開發環境開始,詳細介紹了Scala的語法基礎,以代碼實例形式分別講解了Scala面向對象開發及函數式編程;在此基礎上進一步深入講解了Scala的中高級語法特性,包括模式匹配、集合、類型參數、高級類型、隱式轉化及各語法特性在Spark源碼中的應用解析,並引出Scala的Actor模型及其應用詳解。本書還詳細介紹了以Scala為基礎的兩大框架——Akka和Kafka。
本書每章開始均有重點介紹,以引導讀者有目的、有重點地閱讀或查閱。另外,針對不同語法特性的源碼及應用解析是本書的另一大特點。
本書適合具備一定編程語言基礎、對大數據開發有興趣的在校學生,同時,對有面向對象編程或函數式編程經驗的人員,本書也可以作為開發實例的參考書籍。
目錄大綱
前言
基础篇
第1章Scala零基础入门
11Scala概述
12Windows及Linux下Scale运行环境安装配置
121软件工具准备
122Windows环境下的Scala安装
123Linux环境下的Scala安装
124Linux环境下的Hadoop安装与配置
125Linux环境下的Spark安装与配置
13Scala开发环境搭建和HelloWorld实例
131Scala集成开发工具的安装
132HelloWorld编程实例
133WorkSheet的使用
14变量的使用
141Scala解释器中的变量示例
142val变量的定义
143var变量的定义
144var变量与val变量的使用比较
15函数的定义、流程控制、异常处理
151函数的定义
152流程控制(if、while、for)
153异常处理
16Tuple、Array、Map与文件操作
161Tuple元组
162Array数组
163文件操作
164Map映射
17Scala中的apply方法
171Object中的apply
172Class中的apply
173Array数组的apply实现
18小结
第2章Scala面向对象编程开发
21类的定义及属性
211类定义
212带有getter和setter的属性
22主构造器、私有构造器、构造器重载
221构造器重载之辅助构造器
222主构造器
223不同访问权限的构造器
23内部类和外部类
24单例对象、伴生对象
25继承:超类的构造、重写字段、重写方法
251超类的构造
252重写字段
253重写方法
26抽象类、抽象字段、抽象方法
261抽象类
262抽象字段
263抽象方法
27trait特质
271作为接口使用的trait
272在对象中混入trait
273trait深入解析
28多重继承、多重继承构造器执行顺序及AOP实现
281多重继承
282多重继承构造器执行顺序
283AOP实现
29包的定义、包对象、包的引用、包的隐式引用
291包的定义
292包对象
293包的引用
294包的隐式引用
210包、类、对象、成员、伴生类、伴生对象访问权限
2101包、类、对象、成员访问权限
2102伴生类、伴生对象访问权限
211小结
第3章Scala高阶函数
31匿名函数
32偏应用函数
33闭包
34SAM转换
35Curring函数
36高阶函数
37高阶函数在Spark中的应用
38小结
中级篇
第4章Scala模式匹配
41模式匹配简介
42模式匹配类型
421常量模式
422变量模式
423构造器模式
424序列(Sequence)模式
425元组(Tuple)模式
426类型模式
427变量绑定模式
43模式匹配与Case Class
431构造器模式匹配原理
432序列模式匹配原理
433Sealed Class在模式匹配中的应用
44模式匹配应用实例
441for循环控制结构中的模式匹配
442正则表达式中的模式匹配
443异常处理中的模式匹配
444Spark源码中的模式匹配使用
45本章小结
第5章Scala集合
51可变集合与不可变集合(Collection)
511集合的概述
512集合的相关操作
513集合的操作示例
52序列(Seq)
521序列的概述
522序列的相关操作
523序列的操作示例
53列表(List)
531列表的概述
532列表的相关操作
533列表的操作示例
54集(Set)
541集的概述
542集的相关操作
543集的操作示例
55映射(Map)
551映射的概述
552映射的相关操作
553映射的操作示例
56迭代器(Iterator)
561迭代器的概述
562迭代器的相关操作
563迭代器的操作示例
57集合的架构
58小结
高级篇
第6章Scala类型参数
61泛型
611泛型的概述
612泛型的操作示例
62界定
621上下界界定
622视图界定
623上下文界定
624多重界定
625界定的操作示例
63类型约束
631类型约束的概述
632类型约束的操作示例
64类型系统
641类型系统的概述
642类型系统的操作示例
65型变Variance
651协变
652逆变
653协变与逆变的操作示例
66结合Spark源码说明Scala类型参数的使用
67小结
第7章Scala高级类型
71单例类型
711单例类型概述
712单例类型示例
72类型别名
721类型别名概述
722类型别名示例
73自身类型
731自身类型概述
732自身类型示例
74中置类型
741中置类型概述
742中置类型示例
75类型投影
751类型投影概述
752类型投影实例
76结构类型
761结构类型概述
762结构类型示例
77复合类型
771复合类型概述
772复合类型示例
78存在类型
781存在类型概述
782存在类型示例
79函数类型
791函数类型概述
792函数类型示例
710抽象类型
7101抽象类型概述
7102抽象类型实例
711Spark源码中的高级类型使用
712本章小结
第8章Scala隐式转换
81隐式转换函数
811隐式转换函数的定义
812隐式转换函数的功能
82隐式类与隐式对象
821隐式类
822隐式参数与隐式值
83类型证明中的隐式转换
831类型证明的定义
832类型证明使用实例
84上下文界定、视图界定中的隐式转换
841Ordering与Ordered特质
842视图界定中的隐式转换
843上下文界定中的隐式转换
85隐式转换规则
851发生隐式转换的条件
852不会发生隐式转换的条件
86Spark源码中的隐式转换使用
861隐式转换函数
862隐式类
863隐式参数
87本章小结
第9章Scala并发编程
91Scala的Actor模型简介
92Scala Actor的构建方式
921继承Actor类
922Actor工具方法
93Actor的生命周期
931start方法的等幂性
932Actor的不同状态
94Actor之间的通信
941Actor之间发送消息
942Actor接收消息
95使用react重用线程提升性能
96Channel通道
961OutputChannel
962InputChannel
963创建和共享channel
97同步和Future
98Scala并发编程实例
981Scala Actor并发编程
982ExecutorService并发编程
99小结
分布式框架篇
第10章Akka的设计理念
101Akka框架模型
102创建Actor
1021通过实现akkaactorActor来创建Actor类
1022使用非缺省构造方法创建 Actor
1023创建匿名Actor
103Actor API
1031Actor trait基本接口
1032使用DeathWatch进行生命周期监控
1033Hook函数的调用
1034查找Actor
1035消息的不可变性
1036发送消息
1037转发消息
1038接收消息
1039回应消息
10310终止Actor
10311Become/Unbecome
10312杀死Actor
104不同类型的Actor
1041方法派发语义
1042终止有类型Actor
105小结
第11章Akka核心组件及核心特性剖析
111Dispatchers 和 Routers
1111为Actor指定派发器
1112派发器的类型
1113邮箱
1114Routers
1115路由的使用
1116远程部署router
112Supervision和Monitoring
1121Supervision
1122Monitoring
113Akka中的事务
1131STM
1132使用STM事务
1133读取Agent事务中的数据
1134更新Agent事务中的数据
1135Actor中的事务
1136创建Transactor
114小结
第12章Akka程序设计实践
121Akka的配置、日志及部署
1211Akka中配置文件的读写
1212Akka中日志配置
1213Akka部署及应用场景
122使用Akka框架实现单词统计
123分布式Akka环境搭建
124使用Akka微内核部署应用
125Akka框架在Spark中的运用
126小结
第13章Kafka设计理念与基本架构
131Kafka产生的背景
132消息队列系统
1321概述
1322常用的消息队列系统对比
1323Kafka特点及特性
1324Kafka系统应用场景
133Kafka设计理念
1331专业术语解析
1332消息存储与缓存设计
1333消费者与生产者模型
1334Push与Pull机制
1335镜像机制
134Kafka整体架构
1341Kafka基本组成结构
1342Kafka工作流程
135Kafka性能分析及优化
136Kafka未来研究方向
137小结
第14章Kafka核心组件及核心特性剖析
141Kafka核心组件剖析
1411Producers
1412Consumers
1413Low Level Consumer
1414High Level Consumer
142Kafka核心特性剖析
1421Topic、Partitions
1422Replication和Leader Election
1423Consumer Rebalance
1424消息传送机制
1425Kafka的可靠性
1426Kafka的高效性
143Kafka即将发布版本核心组件及特性剖析
1431重新设计的Consumer
1432Coordinator Rebalance
144小结
第15章Kafka应用实践
151Kafka开发环境搭建及运行环境部署
1511Kafka开发环境配置
1512Kafka运行环境安装与部署
152基于Kafka客户端开发
1521消息生产者(Producer)设计
1522消息消费者(Consumer)设计
1523Kafka消费者与生产者配置
153Spark Streaming整合Kafka
1531基本架构设计流程
1532消息消费者(Consumer)设计——基于Receiver方法
1533消息消费者(Consumer)设计——基于No Receiver方法
1534消息生产者(Producer)设计
154小结
附录Kafka集群serverproperties配置文档
参考文献