-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Netty實戰

( 簡體 字)
作者:[美] 諾曼?毛瑞爾(Norman Maurer)馬文?艾倫?沃爾夫泰爾(Mar類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社Netty實戰 3dWoo書號: 46765
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:4/1/2017
頁數:250
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115453686
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

Netty實戰 是為想要或者正在使用Java 從事高性能網路程式設計的人而寫的,循序漸進地介紹了Netty各個方面的內容。 Netty實戰 共分為4 個部分:diyi部分詳細地介紹Netty 的相關概念以及核心元件,第二部分介紹自訂協定經常用到的轉碼器,第三部分介紹Netty 對於應用層高級協定的支援,會覆蓋常見的協定及其在實踐中的應用,第四部分是幾個案例研究。此外,附錄部分會還簡單地介紹Maven,以及如何通過使用Maven 編譯和運行Netty實戰 中的示例。 閱讀本書不需要讀者精通Java 網路和併發程式設計。如果想要更加深入地理解本書背後的理念以及Netty 源碼本身,可以系統地學習一下Java 網路程式設計、NIO、併發和非同步程式設計以及相關的設計模式。
目錄:

第一部分 Netty的概念及體系結構

第1 章 Netty——非同步和事件驅動 3

1.1 Java 網路程式設計 4

1.1.1 Java NIO 5

1.1.2 選擇器 6

1.2 Netty 簡介 6

1.2.1 誰在使用Netty 7

1.2.2 非同步和事件驅動 8

1.3 Netty 的核心組件 9

1.3.1 Channel 9

1.3.2 回檔 9

1.3.3 Future 10

1.3.4 事件和ChannelHandler 11

1.3.5 把它們放在一起 12

1.4 小結 13

第2 章 你的第一款Netty應用程式 14

2.1 設置開發環境 14

2.1.1 獲取並安裝Java 開發套件 14

2.1.2 下載並安裝IDE 15

2.1.3 下載和安裝Apache Maven 15

2.1.4 配置工具集 16

2.2 Netty 用戶端/伺服器概覽 16

2.3 編寫Echo 伺服器 17

2.3.1 ChannelHandler 和業務邏輯 17

2.3.2 引導伺服器 18

2.4 編寫Echo 用戶端 21

2.4.1 通過ChannelHandler 實現用戶端邏輯 21

2.4.2 引導用戶端 22

2.5 構建和運行Echo 伺服器和用戶端 24

2.5.1 運行構建 24

2.5.2 運行Echo 伺服器和用戶端 27

2.6 小結 29

第3 章 Netty 的組件和設計 30

3.1 Channel、EventLoop 和ChannelFuture 30

3.1.1 Channel 介面 31

3.1.2 EventLoop 介面 31

3.1.3 ChannelFuture 介面 32

3.2 ChannelHandler 和ChannelPipeline 32

3.2.1 ChannelHandler 介面 32

3.2.2 ChannelPipeline 介面 33

3.2.3 更加深入地瞭解ChannelHandler 34

3.2.4 編碼器和解碼器 35

3.2.5 抽象類別SimpleChannelInboundHandler 35

3.3 引導 36

3.4 小結 37

第4 章 傳輸 38

4.1 案例研究:傳輸遷移 38

4.1.1 不通過Netty 使用OIO和NIO 39

4.1.2 通過Netty 使用OIO和NIO 41

4.1.3 非阻塞的Netty 版本 42

4.2 傳輸API 43

4.3 內置的傳輸 45

4.3.1 NIO——非阻塞I/O 46

4.3.2 Epoll——用於Linux的本地非阻塞傳輸 47

4.3.3 OIO——舊的阻塞I/O 48

4.3.4 用於JVM 內部通信的Local 傳輸 48

4.3.5 Embedded 傳輸 49

4.4 傳輸的用例 49

4.5 小結 51

第5 章 ByteBuf 52

5.1 ByteBuf 的API 52

5.2 ByteBuf 類——Netty的數據容器 53

5.2.1 它是如何工作的 53

5.2.2 ByteBuf 的使用模式 53

5.3 位元組級操作 57

5.3.1 隨機訪問索引 57

5.3.2 循序存取索引 57

5.3.3 可丟棄位元組 58

5.3.4 可讀位元組 58

5.3.5 可寫位元組 59

5.3.6 索引管理 59

5.3.7 查找操作 60

5.3.8 派生緩衝區 60

5.3.9 讀/寫操作 62

5.3.10 更多的操作 64

5.4 ByteBufHolder 介面 65

5.5 ByteBuf 分配 65

5.5.1 按需分配:ByteBufAllocator 介面 65

5.5.2 Unpooled 緩衝區 67

5.5.3 ByteBufUtil 類 67

5.6 引用計數 67

5.7 小結 68

第6 章 ChannelHandler 和ChannelPipeline 70

6.1 ChannelHandler 家族 70

6.1.1 Channel 的生命週期 70

6.1.2 ChannelHandler的生命週期 71

6.1.3 ChannelInboundHandler介面 71

6.1.4 ChannelOutboundHandler介面 73

6.1.5 ChannelHandler 適配器 74

6.1.6 資源管理 74

6.2 ChannelPipeline 介面 76

6.2.1 修改ChannelPipeline 78

6.2.2 觸發事件 79

6.3 ChannelHandlerContext介面 80

6.3.1 使用ChannelHandlerContext 82

6.3.2 ChannelHandler 和ChannelHandlerContext 的高級用法 84

6.4 異常處理 86

6.4.1 處理入站異常 86

6.4.2 處理出站異常 87

6.5 小結 88

第7 章 EventLoop 和執行緒模型 89

7.1 執行緒模型概述 89

7.2 EventLoop 介面 90

7.2.1 Netty 4 中的I/O 和事件處理 92

7.2.2 Netty 3 中的I/O 操作 92

7.3 任務調度 93

7.3.1 JDK 的任務調度API 93

7.3.2 使用EventLoop調度任務 94

7.4 實現細節 95

7.4.1 執行緒管理 95

7.4.2 EventLoop/執行緒的分配 96

7.5 小結 98

第8 章 引導 99

8.1 Bootstrap 類 99

8.2 引導用戶端和無連線協定 101

8.2.1 引導用戶端 102

8.2.2 Channel 和EventLoopGroup 的相容性 103

8.3 引導伺服器 104

8.3.1 ServerBootstrap 類 104

8.3.2 引導伺服器 105

8.4 從Channel引導用戶端 107

8.5 在引導過程中添加多個ChannelHandler 108

8.6 使用Netty 的ChannelOption 和屬性 110

8.7 引導DatagramChannel 111

8.8 關閉 112

8.9 小結 112

第9 章 單元測試 113

9.1 EmbeddedChannel概述 113

9.2 使用EmbeddedChannel測試ChannelHandler 115

9.2.1 測試入站消息 115

9.2.2 測試出站消息 118

9.3 測試異常處理 119

9.4 小結 121

第二部分 轉碼器

第10 章 轉碼器框架 125

10.1 什麼是轉碼器 125

10.2 解碼器 125

10.2.1 抽象類別ByteToMessageDecoder 126

10.2.2 抽象類別ReplayingDecoder 127

10.2.3 抽象類別MessageToMessageDecoder 128

10.2.4 TooLongFrameException 類 130

10.3 編碼器 131

10.3.1 抽象類別MessageToByteEncoder 131

10.3.2 抽象類別MessageToMessageEncoder 132

10.4 抽象的轉碼器類 133

10.4.1 抽象類別ByteToMessageCodec 133

10.4.2 抽象類別MessageToMessageCodec 134

10.4.3 CombinedChannelDuplexHandler 類 137

10.5 小結 138

第11 章 預置的ChannelHandler和轉碼器 139

11.1 通過SSL/TLS 保護Netty 應用程式 139

11.2 構建基於Netty 的HTTP/HTTPS 應用程式 141

11.2.1 HTTP 解碼器、編碼器和轉碼器 141

11.2.2 聚合HTTP 消息 143

11.2.3 HTTP 壓縮 144

11.2.4 使用HTTPS 145

11.2.5 WebSocket 146

11.3 空閒的連接和超時 148

11.4 解碼基於分隔符號的協定和基於長度的協定 150

11.4.1 基於分隔符號的協議 150

11.4.2 基於長度的協議 153

11.5 寫大型資料 155

11.6 序列化數據 1 57

11.6.1 JDK 序列化 157

11.6.2 使用JBoss Marshalling進行序列化 157

11.6.3 通過Protocol Buffers序列化 159

11.7 小結 160

第三部分 網路通訊協定

第12 章 WebSocket 163

12.1 WebSocket 簡介 163

12.2 我們的WebSocket 示例應用程式 164

12.3 添加WebSocket支持 165

12.3.1 處理HTTP 請求 165

12.3.2 處理WebSocket 幀 168

12.3.3 初始化ChannelPipeline 169

12.3.4 引導 171

12.4 測試該應用程式 173

12.5 小結 176

第13章 使用UDP 廣播事件 177

13.1 UDP 的基礎知識 177

13.2 UDP 廣播 178

13.3 UDP 示例應用程式 178

13.4 消息 POJO:LogEvent 179

13.5 編寫廣播者 180

13.6 編寫監視器 185

13.7 運行LogEventBroadcaster 和LogEventMonitor 187

13.8 小結 189

第四部分 案例研究

第14 章 案例研究,第一部分 193

14.1 Droplr—構建移動服務 193

14.1.1 這一切的起因 193

14.1.2 Droplr 是怎樣工作的 194

14.1.3 創造一個更加快速的上傳體驗 194

14.1.4 技術棧 196

14.1.5 性能 199

14.1.6 小結——站在巨人的肩膀上 200

14.2 Firebase—即時的資料同步服務 200

14.2.1 Firebase 的架構 201

14.2.2 長輪詢 201

14.2.3 HTTP 1.1 keep-alive和流水線化 204

14.2.4 控制SslHandler 205

14.2.5 Firebase 小結 207

14.3 Urban Airship—構建移動服務 207

14.3.1 移動消息的基礎知識 207

14.3.2 協力廠商遞交 208

14.3.3 使用二進位協定的例子 209

14.3.4 直接面向設備的遞交 211

14.3.5 Netty 擅長管理大量的併發連接 212

14.3.6 Urban Airship 小結——跨越防火牆邊界 213

14.4 小結 214

第15 章 案例研究,第二部分 215

15.1 Netty 在Facebook 的使用:Nifty 和Swift 215

15.1.1 什麼是Thrift 215

15.1.2 使用Netty 改善Java Thrift 的現狀 216

15.1.3 Nifty 伺服器的設計 217

15.1.4 Nifty 非同步用戶端的設計 220

15.1.5 Swift:一種更快的構建Java Thrift 服務的方式 221

15.1.6 結果 221

15.1.7 Facebook 小結 224

15.2 Netty 在Twitter的使用:Finagle 224

15.2.1 Twitter 成長的煩惱 224

15.2.2 Finagle 的誕生 224

15.2.3 Finagle 是如何工作的 225

15.2.4 Finagle 的抽象 230

15.2.5 故障管理 231

15.2.6 組合服務 232

15.2.7 未來:Netty 232

15.2.8 Twitter 小結 233

15.3 小結 233

附錄 Maven 介紹 234
序: