Scala語言基礎與開發實戰

Scala語言基礎與開發實戰

《Scala語言基礎與開發實戰》是2016年機械工業出版社出版的圖書,作者是王家林。

基本介紹

  • 書名:Scala語言基礎與開發實戰
  • 作者:王家林
  • 出版社:機械工業出版社
  • 出版時間:2016年6月
  • ISBN:9787111541691
  • 叢書: 大數據科學叢書
內容簡介,圖書目錄,

內容簡介

本書分為基礎篇、中級篇、高級篇及分散式框架四大部分,從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配置文檔
參考文獻

相關詞條

熱門詞條

聯絡我們