Offer來了:Java面試核心知識點精講(框架篇) 版權信息
- ISBN:9787121386671
- 條形碼:9787121386671 ; 978-7-121-38667-1
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Offer來了:Java面試核心知識點精講(框架篇) 本書特色
本書是對Java程序員面試中常見的微服務、網絡編程、分布式存儲和分布式計算等**知識點的總結,包括Spring原理及應用、Spring Cloud原理及應用、Netty網絡編程原理及應用、ZooKeeper原理及應用、Kafka原理及應用、Hadoop原理及應用、HBase原理及應用、Cassandra原理及應用、ElasticSearch原理及應用、Spark原理及應用、Flink原理及應用。本書是對Java程序員面試中常見的微服務、網絡編程、分布式存儲和分布式計算等**知識點的總結,包括Spring原理及應用、Spring Cloud原理及應用、Netty網絡編程原理及應用、ZooKeeper原理及應用、Kafka原理及應用、Hadoop原理及應用、HBase原理及應用、Cassandra原理及應用、ElasticSearch原理及應用、Spark原理及應用、Flink原理及應用。
本書共11章,第1章講解Spring原理及應用,涉及Spring IoC原理、Spring AOP原理、Spring MVC原理、事務、MyBatis緩存等內容;第2章講解Spring Cloud原理及應用,涉及Spring Boot、Spring Cloud Config、Eureka、Consul、Hystrix、Zuul和Spring Cloud鏈路監控等內容;第3章講解Netty網絡編程原理及應用;第4章講解ZooKeeper原理及應用,涉及ZooKeeper選舉機制、ZooKeeper數據模型和ZooKeeper應用場景等內容;第5章講解Kafka原理及應用,涉及Kafka組成、Kafka數據存儲設計、Kafka生產者并發設計、Kafka消費者并發設計,以及Kafka安裝和應用等內容;第6章講解Hadoop原理及應用,涉及HDFS、MapReduce、YARN等內容;第7章講解HBase原理及應用,涉及HBase列式存儲數據模型、HBase架構組成和HBase數據讀寫流程等內容;第8章講解Cassandra原理及應用,涉及Cassandra數據模型、Gossip協議、NWR理論、一致性Hash、Cassandra數據副本策略和讀寫機制等內容;第9章講解ElasticSearch原理及應用,涉及ElasticSearch數據模型、ElasticSearch分布式架構、ElasticSearch數據讀寫原理和段合并等內容;第10章講解Spark原理及應用,涉及Spark特點、Spark模塊組成、Spark運行機制,以及Spark RDD、Spark Streaming、Spark SQL、DataFrame、DataSet、Spark Structured Streaming的原理和使用等內容;第11章講解Flink原理及應用,涉及Flink核心概念、Flink架構、Flink事件驅動模型、Flink數據分析應用和Flink基于狀態的內存計算等內容。
本書可作為Java程序員的技術面試參考用書,也可作為Java程序員、大數據開發人員、技術經理和架構師的日常技術參考用書。
Offer來了:Java面試核心知識點精講(框架篇) 內容簡介
本書是對Java程序員面試中常見的微服務、網絡編程、分布式存儲和分布式計算等推薦知識點的總結,具體包括:Spring Web編程、Spring Cloud微服務開發、Netty網絡編程、ZooKeeper分布式協調器、Kafka分布式消息系統、Hadoop大數據存儲和計算、HBase大數據存儲、Cassandra大數據存儲、ElasticSearch大數據存儲、Spark大數據分析和Flink大數據分析。本書共11章,章講解Spring原理及應用,涉及Spring IoC原理、Spring AOP原理、Spring MVC原理、事務、MyBatis緩存等內容;第2章講解Spring Cloud原理及應用,涉及Spring Boot、Spring Cloud Config、Eureka、Consul、Hystrix、Zuul和Spring Cloud鏈路監控等服務組件;第3章講解Netty網絡編程原理及應用;第4章講解ZooKeeper原理及應用,涉及ZooKeeper選舉機制、ZooKeeper數據模型和ZooKeeper應用場景等內容;第5章講解Kafka原理及應用,涉及Kafka組成、Kafka數據存儲設計、Kafka生產者并發設計、Kafka消費者并發設計,以及Kafka安裝和應用;第6章講解Hadoop原理及應用,涉及HDFS、MapReduce、YARN等內容;第7章講解HBase原理及應用,涉及HBase列式存儲數據模型、HBase架構組成和HBase數據讀寫流程等內容;第8章講解Cassandra原理及應用,涉及Cassandra數據模型、Gossip協議、NWR理論、一致性Hash、Cassandra數據副本策略和讀寫機制等內容;第9章講解ElasticSearch原理及應用,涉及ElasticSearch數據模型、ElasticSearch分布式架構、Elasticsearch數據讀寫原理和段合并等內容;0章講解Spark原理及應用,涉及Spark特點、Spark模塊組成、Spark運行機制和Spark RDD、Spark Streaming、Spark SQL、DataFrame、DataSet、Spark Structured Streaming等原理和使用;1章講解Flink原理及應用,涉及Flink核心概念、Flink架構介紹、Flink事件驅動模型、Flink數據分析應用和Flink基于狀態的內存計算等內容。
Offer來了:Java面試核心知識點精講(框架篇) 目錄
目錄
第1章 Spring原理及應用 1
1.1 Spring的特性 1
1.1.1 輕量 2
1.1.2 控制反轉 2
1.1.3 面向容器 2
1.1.4 面向切面 2
1.1.5 框架靈活 3
1.2 Spring的模塊 3
1.2.1 核心容器層 3
1.Spring-Beans 4
2.Spring-Core 4
3.Spring-Context 4
4.SpEL 4
1.2.2 數據訪問層 4
1.JDBC 5
2.ORM 5
3.OXM 5
4.JMS 5
5.事務處理 5
1.2.3 Web應用層 6
1.Web 6
2.Web-MVC 6
3.Web-Socket 6
4.Web-Portlet 6
1.2.4 其他重要模塊 6
1.AOP 6
2.Aspects 7
3.Instrumentation 7
4.Messaging 7
5.Test 7
1.3 Spring的核心JAR包 7
1.4 Spring的注解 8
1.4.1 Spring注解的使用 9
1.導入命名空間及規范 9
2.配置掃描包 9
3.使用注解 10
1.4.2 Spring的常用注解 10
1.5 Spring IoC的原理 12
1.5.1 Spring IoC簡介 12
1.5.2 Spring Bean的裝配流程 12
1.5.3 Spring Bean的作用域 13
1.Singleton 13
2.Prototype 13
3.Request 14
4.Session 14
5.Global Session 14
1.5.4 Spring Bean的生命周期 14
1.5.5 Spring 的4種依賴注入 16
1.構造器注入 16
2.set方法注入 16
3.靜態工廠注入 17
4.實例工廠注入 18
1.5.6 自動裝配的5種方式 18
1.6 Spring AOP的原理 19
1.6.1 Spring AOP簡介 19
1.6.2 AOP的核心概念 20
1.6.3 AOP的2種代理方式 20
1.6.4 AOP的5種通知類型 21
1.6.5 AOP的代碼實現 22
1.7 Spring MVC的原理 22
1.8 事務 23
1.8.1 本地事務 24
1.8.2 分布式事務 25
1.8.3 兩階段提交協議 26
1.準備階段 26
2.提交階段 26
1.9 MyBatis的緩存 27
1.9.1 MyBatis的一級緩存原理 28
1.9.2 MyBatis的二級緩存原理 28
1.10 Spring的生態 28
1.10.1 Spring Data 29
1.Spring Data的特性 29
2.Spring Data的主項目 29
3.Spring Data的社區項目 30
1.10.2 Spring的其他服務 31
第2章 Spring Cloud原理及應用 33
2.1 Spring Boot 35
2.1.1 Spring Boot的使用 35
2.1.2 Spring Boot Application Starters 38
2.1.3 Spring Boot的常用組件及其使用 40
1.Spring Boot使用MySQL 40
2.Spring Boot使用Redis 41
3.Spring Boot使用MongoDB 42
4.Spring Boot使用Neo4j 43
5.Spring Boot使用Solr 43
6.Spring Boot使用ElasticSearch 44
7.Spring Boot使用Cassandra 44
8.Spring Boot使用RabbitMQ 45
9.Spring Boot使用Kafka 46
2.2 Spring Cloud Config 47
2.2.1 Spring Cloud Config的原理 48
2.2.2 Config Server的定義和使用 48
2.2.3 Config Client 51
2.3 Spring Cloud Eureka 52
2.3.1 Spring Cloud Eureka的原理 52
1.服務注冊 53
2.服務同步 53
3.服務續約 54
4.服務啟動 54
5.服務下線 54
6.服務發現 54
7.失效剔除 54
2.3.2 Spring Cloud Eureka的使用 55
1.注冊中心的定義 55
2.服務提供者的定義 57
3.服務消費者的定義 59
2.4 Spring Cloud Consul 62
2.4.1 Spring Cloud Consul的原理 62
1.Consul的特性 62
2.Consul的角色 63
3.Consul的服務注冊與發現流程 64
2.4.2 Spring Cloud Consul的使用 65
1.Consul的服務啟動 65
2.Consul服務提供者的定義 68
3.Consul服務消費者的定義 70
2.5 Spring Cloud Feign 71
2.5.1 Feign的應用 72
2.5.2 Feign的常用注解 74
2.6 Spring Cloud Hystrix 74
2.6.1 Hystrix的特性 75
1.服務熔斷 75
2.服務降級 75
3.依賴隔離 76
4.請求緩存 76
5.請求合并 76
2.6.2 Hystrix的服務降級流程 77
2.6.3 Hystrix的使用 78
2.6.4 異步請求 80
1.Future 80
2.Callable 82
2.6.5 Hystrix的常用配置 85
1.熔斷的配置參數 85
2.執行的配置參數 85
2.6.7 Hystrix Dashboard 87
2.7 Spring Cloud Zuul 87
2.7.1 Zuul的概念和特點 87
2.7.2 Zuul的原理 88
2.7.3 Zuul的使用 89
2.7.4 PreRequestFilter的定義和注入 91
2.7.5 Fallback Provider的服務容錯 92
2.8 Spring Cloud的鏈路監控 94
2.8.1 Sleuth+Zipkin 94
1.Sleuth的介紹 94
2.Sleuth+Zipkin實現分布式鏈路追蹤 95
2.8.2 Pinpoint 101
1.Pinpoint的介紹 101
2.Pinpoint的組件 104
3.Pinpoint的數據結構 104
4.Pinpoint的字節碼增強技術 104
5.Pinpoint的使用 105
第3章 Netty網絡編程原理及應用 107
3.1 Reactor線程模型 107
3.1.1 Java NIO 107
1.Channel 108
2.Buffer 108
3.Selector 108
3.1.2 Reactor單線程模型 109
3.1.3 Reactor多線程模型 110
3.1.4 Reactor主從多線程模型 110
3.2 Netty的架構 111
3.2.1 Netty簡介 111
3.2.2 Netty的架構設計 111
1.Transport Services 112
2.Protocol Support 112
3.Core 114
3.2.3 Netty的核心組件 114
3.2.4 Netty的原理 115
1.Netty Server的初始化步驟 115
2.BossGroup的職責 116
3.WorkerGroup的職責 117
3.3 Netty的特性 118
3.3.1 I/O多路復用模型 118
3.3.2 數據零拷貝 118
3.3.3 內存重用機制 119
3.3.4 無鎖化設計 120
3.3.5 高性能的序列化框架 120
3.4 Netty的使用 121
第4章 ZooKeeper原理及應用 128
4.1 ZooKeeper的原理 128
4.1.1 ZooKeeper的角色 128
1.Leader 129
2.Follower 129
3.Observer 129
4.1.2 ZAB協議 129
1.ZAB協議的4個階段 130
2.ZAB協議的Java實現 131
4.1.3 ZooKeeper的選舉機制和流程 131
4.2 ZooKeeper的應用 133
4.2.1 ZooKeeper的數據模型 133
1.Znode的數據模型 133
2.Znode的控制訪問 134
3.Znode的節點類型 134
4.Znode的節點Watch 134
4.2.2 ZooKeeper的安裝 134
4.2.3 ZooKeeper的應用場景 136
1.統一命名服務 136
2.配置管理 136
3.集群管理 136
4.分布式通知協調 136
5.分布式鎖 137
4.2.4 ZooKeeper節點的操作 137
第5章 Kafka原理及應用 143
5.1 Kafka的原理 143
5.1.1 Kafka的組成 143
5.1.2 Kafka的數據存儲設計 145
1.Partition數據文件 145
2.Segment數據文件 146
3.數據文件索引 146
5.1.3 生產者并發設計 147
1.多個Producer并發生產消息 147
2.批量發送消息 148
3.壓縮消息 148
5.1.4 消費者并發設計 148
1.多個Consumer并發消費消息 148
2.Consumer Group的概念和特性 149
5.2 Kafka的應用
展開全部
Offer來了:Java面試核心知識點精講(框架篇) 相關資料
本書主題雖然是Offer來了,但卻對Java分布式架構的常用技術做了非常詳細的梳理,并且結合了大量的原理圖和流程圖,讓讀者快速和學習了解這些常用技術,更以非常直觀的方式對知識體系做了總結,方便讀者在面試的時候有更全面的發揮,同時能夠在工作中得到運用,非常值得大家購買和閱讀。
《高可用可伸縮微服務架構》聯合作者,《深入分布式緩存》聯合作者 程超
微服務、網絡編程、分布式系統等方面的知識,是每一個Java程序員都必須掌握的。本書深入淺出,使得讀者們充分了解上述這些重要的知識點和底層邏輯,非常值得一讀。
《漫畫算法》作者,公眾號“程序員小灰”運營者 魏夢舒
Java 程序員很大部分從事 Web 方向和大數據應用開發方向,對于后者來說,除了編程語言等基礎知識,了解大數據組件也是一個重要的部分。本書涵蓋了常用大數據組件的重要基礎知識,對于相關從業人員是很好的讀物。
奇安信資深研發工程師,《Elasticsearch源碼解析與優化實戰》作者 張超
Offer來了:Java面試核心知識點精講(框架篇) 作者簡介
王磊,現任國內某知名互聯網公司大數據技術架構師,有十余年豐富的物聯網及大數據研發和技術架構經驗,對物聯網及大數據的原理和技術實現有深刻的理解。長期從事海外項目的研發和交付工作,對異地多活數據中心的建設及高可用、高并發系統的設計有豐富的實戰經驗。