注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Netty實戰(zhàn)

Netty實戰(zhàn)

Netty實戰(zhàn)

定 價:¥59.00

作 者: 王金柱 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302563402 出版時間: 2020-11-01 包裝: 平裝
開本: 16 頁數(shù): 211 字數(shù):  

內(nèi)容簡介

  Netty是一個開源的、基于NIO的客戶端和服務(wù)器端Java編程框架。本書涵蓋Netty開發(fā)中絕大多數(shù)需要掌握的基本原理、方法與技巧,是一本比較實用的Netty參考書,可以作為Java Web應用開發(fā)人員的技術(shù)指導手冊。 全書分為10章,包括Netty基礎(chǔ)(從Java IO演進)、構(gòu)建完整的Netty應用、Netty線程模型、Netty內(nèi)存管理、Transport(傳輸)、Channel(通道)、Codec(編解碼器)和Bootstrap(引導)等核心內(nèi)容的8章,還包括基于WebSocket構(gòu)建Netty響應服務(wù)器和Netty消息推送系統(tǒng)這兩個項目實戰(zhàn)的2章。本書對應用Netty框架開發(fā)網(wǎng)絡(luò)應用有很好的指導作用。 本書內(nèi)容簡潔明了、通俗易懂、原理清晰、重點突出、實例豐富、代碼精練,適合想要學習Netty的Java Web應用開發(fā)人員,同時也非常適合作為高等院校和培訓學校計算機及相關(guān)專業(yè)的輔助教材。

作者簡介

  王金柱,對JavaScript語言、jQuery框架、Node.js、React等Web前端開發(fā)有著獨到的經(jīng)驗,并精通HTML/XHTML、CSS與PHP等開發(fā)語言的應用。有著10多年豐富的IT從業(yè)經(jīng)歷,完成過多家大型央企與上市公司的企業(yè)級Web系統(tǒng)平臺項目的前端模塊開發(fā)工作。

圖書目錄

第1章  從Java IO到Netty 1
1.1  了解Java中的IO通信 1
1.1.1  IO通信基礎(chǔ) 1
1.1.2  “同步/異步”與“阻塞/非阻塞” 2
1.1.3  傳統(tǒng)BIO模式 3
1.1.4  偽異步IO模式 4
1.1.5  NIO模式 5
1.1.6  AIO模式 5
1.2  初識Netty 5
1.2.1  Netty特點 6
1.2.2  搭建Netty開發(fā)環(huán)境 6
1.2.3  Netty開發(fā)工具—IntelliJ IDEA 8
1.3  實戰(zhàn):Netty版的“Hello World”程序 9
1.3.1  使用IntelliJ IDEA創(chuàng)建項目 9
1.3.2  引入Netty包 11
1.3.3  編寫Netty應用程序 14
1.3.4  測試HelloNetty服務(wù)器端應用 17
1.4  Netty框架模塊介紹 20
1.4.1  Netty框架功能模塊的組織結(jié)構(gòu) 20
1.4.2  Netty Bootstrap入口模塊 21
1.4.3  Netty Channel傳輸通道模塊 22
1.4.4  Netty EventLoop事件循環(huán)模塊 23
1.4.5  Netty ChannelFuture異步通知接口 23
1.4.6  ChannelHandler與ChannelPipeline接口 24
1.5  小結(jié) 25
第2章  構(gòu)建完整的Netty應用程序 26
2.1  搭建完整的Netty架構(gòu) 26
2.1.1  通過Intellij IDEA創(chuàng)建Java應用程序 26
2.1.2  導入jar包文件 27
2.1.3  組織源碼目錄架構(gòu) 28
2.2  開發(fā)Netty丟棄應用(DiscardNetty) 29
2.2.1  創(chuàng)建Java源碼文件 29
2.2.2  服務(wù)器端實現(xiàn) 29
2.2.3  客戶端實現(xiàn) 33
2.2.4  測試運行DiscardNetty應用 37
2.3  開發(fā)Netty響應應用(EchoNetty) 38
2.3.1  創(chuàng)建Java源碼文件 39
2.3.2  服務(wù)器端實現(xiàn) 39
2.3.3  客戶端實現(xiàn) 43
2.3.4  測試運行EchoNetty應用 47
2.4  小結(jié) 49
第3章  Netty線程模型 50
3.1  線程基礎(chǔ) 50
3.1.1  線程(Thread) 50
3.1.2  進程(Process) 51
3.1.3  進程與線程的關(guān)系 51
3.2  Java線程池 51
3.2.1  什么是線程池(Thread Pool) 52
3.2.2  線程池模型 52
3.2.3  Java線程池 53
3.3  Reactor模型 54
3.3.1  I/O多路復用策略 54
3.3.2  Reactor模型和Proactor模型 54
3.3.3  Reactor線程模型 55
3.4  Netty線程模型 61
3.4.1  Netty線程模型與Reactor模型的關(guān)系 61
3.4.2  Netty單線程模型應用 62
3.4.3  Netty多線程模型應用 63
3.4.4  主從Netty多線程模型應用 64
3.4.5  Netty線程模型流程 66
3.5  小結(jié) 66
第4章  Netty內(nèi)存管理 67
4.1  內(nèi)存管理基礎(chǔ) 67
4.1.1  什么是內(nèi)存管理 68
4.1.2  Netty內(nèi)存管理方式 68
4.1.3  Buffer模塊 68
4.2  Netty內(nèi)存管理核心 69
4.2.1  什么是ByteBuf 69
4.2.2  ByteBuf及其輔助類 69
4.2.3  ByteBuf工作原理 71
4.2.4  ByteBuf動態(tài)擴展 73
4.2.5  ByteBuf使用模式 75
4.2.6  ByteBuf字節(jié)操作 79
4.3  Netty內(nèi)存管理輔助類 98
4.3.1  ByteBufAllocator內(nèi)存分配 98
4.3.2  Unpooled負責非池化緩存 99
4.3.3  ByteBufHolder接口設(shè)計 99
4.3.4  ReferenceCounted引用計數(shù)器 101
4.3.5  ByteBufUtil接口設(shè)計 102
4.4  Netty實現(xiàn)“零拷貝” 102
4.5  Netty內(nèi)存泄漏檢測機制 104
4.6  小結(jié) 107
第5章  Netty傳輸功能 108
5.1  Netty Transport基礎(chǔ) 108
5.2  Netty Transport傳輸方式 109
5.2.1  NIO方式 109
5.2.2  OIO方式 109
5.2.3  Local本地方式 110
5.2.4  Embedded嵌入方式 110
5.3  Netty Transport API 110
5.3.1  Channel接口原理 110
5.3.2  Channel接口功能 111
5.3.3  Channel接口應用實例 111
5.4  Netty Transport協(xié)議 113
5.4.1  NIO傳輸協(xié)議 113
5.4.2  OIO傳輸協(xié)議 115
5.4.3  本地傳輸協(xié)議 116
5.4.4  內(nèi)嵌傳輸協(xié)議 116
5.5  小結(jié) 116
第6章  Netty Channel 117
6.1  Channel基礎(chǔ) 117
6.1.1  什么是Channel 117
6.1.2  Stream與Channel對比 118
6.1.3  Java NIO Channel介紹 118
6.2  Netty Channel接口 119
6.2.1  Channel接口架構(gòu) 119
6.2.2  Channel接口實現(xiàn) 120
6.2.3  Channel接口生命周期 123
6.3  Netty ChannelHandler接口 124
6.3.1  ChannelHandler接口架構(gòu) 124
6.3.2  ChannelHandler接口生命周期 124
6.3.3  ChannelHandlerAdapter子接口 125
6.3.4  ChannelHandler子接口 127
6.3.5  ChannelHandler資源管理與泄漏等級 137
6.4  Netty ChannelPipeline接口 138
6.4.1  ChannelPipeline接口架構(gòu) 138
6.4.2  ChannelPipeline與ChannelHandler關(guān)系 139
6.4.3  ChannelPipeline實現(xiàn) 139
6.4.4  ChannelPipeline修改 145
6.4.5  ChannelHandler執(zhí)行ChannelPipeline與阻塞 146
6.4.6  ChannelPipeline事件傳遞 147
6.5  Netty ChannelHandlerContext接口 147
6.5.1  ChannelHandlerContext接口基礎(chǔ) 147
6.5.2  ChannelHandlerContext接口使用 148
6.6  小結(jié) 151
第7章  Netty編碼與解碼 152
7.1  Codec基礎(chǔ) 152
7.1.1  編碼與解碼 152
7.1.2  Codec的作用 153
7.1.3  Netty Codec基礎(chǔ) 153
7.2  Netty Encode編碼器 153
7.3  Netty Decode解碼器 156
7.4  Netty Codec抽象類 162
7.4.1  Netty Codec概述 162
7.4.2  ByteToMessageCodec類 162
7.4.3  MessageToMessageCodec類 163
7.4.4  CombinedChannelDuplexHandler類 164
7.5  小結(jié) 166
第8章  Netty引導 167
8.1  Bootstrap基礎(chǔ) 167
8.2  Bootstrap類型 168
8.3  Bootstrap客戶端 172
8.3.1  Bootstrap客戶端引導原理 173
8.3.2  Bootstrap客戶端類介紹 178
8.3.3  Bootstrap構(gòu)建NIO客戶端 179
8.4  Bootstrap服務(wù)器端 180
8.4.1  ServerBootstrap服務(wù)器端引導原理 180
8.4.2  ServerBootstrap服務(wù)器端類介紹 182
8.4.3  ServerBootstrap構(gòu)建NIO服務(wù)器端 183
8.5  從Channel引導客戶端 184
8.6  服務(wù)器端配置兩個EventLoopGroup 187
8.7  小結(jié) 189
第9章  項目實戰(zhàn):基于WebSocket搭建Netty服務(wù)器 190
9.1  WebSocket協(xié)議 190
9.1.1  WebSocket介紹 191
9.1.2  WebSocket與Socket 191
9.1.3  WebSocket與HTTP和TCP 191
9.2  構(gòu)建Netty響應服務(wù)器應用程序框架 192
9.2.1  Maven構(gòu)建工具配置 192
9.2.2  IntelliJ IDEA通過Maven構(gòu)建應用程序 193
9.2.3  Maven工程架構(gòu)目錄 195
9.3  基于WebSocket的Netty響應服務(wù)器端開發(fā) 196
9.3.1  服務(wù)器端Server主入口類 196
9.3.2  服務(wù)器端Server子處理器類 198
9.3.3  服務(wù)器端Handler輔助類 200
9.4  基于WebSocket的Netty響應客戶端開發(fā) 202
9.5  測試運行Netty應用程序 204
9.6  小結(jié) 207
第10章  項目實戰(zhàn):基于Netty構(gòu)建消息推送系統(tǒng) 208
10.1  WebSocket特點 208
10.2  Netty消息推送系統(tǒng)應用程序架構(gòu) 209
10.3  Netty消息推送系統(tǒng)服務(wù)器端開發(fā) 210
10.3.1  服務(wù)器端Server主入口類 210
10.3.2  服務(wù)器端Server子處理器類 213
10.3.3  服務(wù)器端Handler輔助類 214
10.3.4  服務(wù)器端Channel輔助類 219
10.4  Netty消息推送系統(tǒng)客戶端開發(fā) 220
10.4.1  基于Netty構(gòu)建客戶端的實現(xiàn) 220
10.4.2  基于WebSocket的HTML5客戶端網(wǎng)頁 226
10.5  測試運行Netty應用程序 228
10.6  小結(jié) 231

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號