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

Netty實(shí)戰(zhàn)

Netty實(shí)戰(zhàn)

定 價(jià):¥59.00

作 者: 王金柱 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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

內(nèi)容簡介

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

作者簡介

  王金柱,對JavaScript語言、jQuery框架、Node.js、React等Web前端開發(fā)有著獨(dú)到的經(jīng)驗(yàn),并精通HTML/XHTML、CSS與PHP等開發(fā)語言的應(yīng)用。有著10多年豐富的IT從業(yè)經(jīng)歷,完成過多家大型央企與上市公司的企業(yè)級Web系統(tǒng)平臺(tái)項(xià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  初識(shí)Netty 5
1.2.1  Netty特點(diǎn) 6
1.2.2  搭建Netty開發(fā)環(huán)境 6
1.2.3  Netty開發(fā)工具—IntelliJ IDEA 8
1.3  實(shí)戰(zhàn):Netty版的“Hello World”程序 9
1.3.1  使用IntelliJ IDEA創(chuàng)建項(xiàng)目 9
1.3.2  引入Netty包 11
1.3.3  編寫Netty應(yīng)用程序 14
1.3.4  測試HelloNetty服務(wù)器端應(yīng)用 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應(yīng)用程序 26
2.1  搭建完整的Netty架構(gòu) 26
2.1.1  通過Intellij IDEA創(chuàng)建Java應(yīng)用程序 26
2.1.2  導(dǎo)入jar包文件 27
2.1.3  組織源碼目錄架構(gòu) 28
2.2  開發(fā)Netty丟棄應(yīng)用(DiscardNetty) 29
2.2.1  創(chuàng)建Java源碼文件 29
2.2.2  服務(wù)器端實(shí)現(xiàn) 29
2.2.3  客戶端實(shí)現(xiàn) 33
2.2.4  測試運(yùn)行DiscardNetty應(yīng)用 37
2.3  開發(fā)Netty響應(yīng)應(yīng)用(EchoNetty) 38
2.3.1  創(chuàng)建Java源碼文件 39
2.3.2  服務(wù)器端實(shí)現(xiàn) 39
2.3.3  客戶端實(shí)現(xiàn) 43
2.3.4  測試運(yùn)行EchoNetty應(yīng)用 47
2.4  小結(jié) 49
第3章  Netty線程模型 50
3.1  線程基礎(chǔ) 50
3.1.1  線程(Thread) 50
3.1.2  進(jìn)程(Process) 51
3.1.3  進(jìn)程與線程的關(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多路復(fù)用策略 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單線程模型應(yīng)用 62
3.4.3  Netty多線程模型應(yīng)用 63
3.4.4  主從Netty多線程模型應(yīng)用 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動(dòng)態(tài)擴(kuò)展 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負(fù)責(zé)非池化緩存 99
4.3.3  ByteBufHolder接口設(shè)計(jì) 99
4.3.4  ReferenceCounted引用計(jì)數(shù)器 101
4.3.5  ByteBufUtil接口設(shè)計(jì) 102
4.4  Netty實(shí)現(xiàn)“零拷貝” 102
4.5  Netty內(nèi)存泄漏檢測機(jī)制 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接口應(yīng)用實(shí)例 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接口實(shí)現(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實(shí)現(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引導(dǎo) 167
8.1  Bootstrap基礎(chǔ) 167
8.2  Bootstrap類型 168
8.3  Bootstrap客戶端 172
8.3.1  Bootstrap客戶端引導(dǎo)原理 173
8.3.2  Bootstrap客戶端類介紹 178
8.3.3  Bootstrap構(gòu)建NIO客戶端 179
8.4  Bootstrap服務(wù)器端 180
8.4.1  ServerBootstrap服務(wù)器端引導(dǎo)原理 180
8.4.2  ServerBootstrap服務(wù)器端類介紹 182
8.4.3  ServerBootstrap構(gòu)建NIO服務(wù)器端 183
8.5  從Channel引導(dǎo)客戶端 184
8.6  服務(wù)器端配置兩個(gè)EventLoopGroup 187
8.7  小結(jié) 189
第9章  項(xiàng)目實(shí)戰(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響應(yīng)服務(wù)器應(yīng)用程序框架 192
9.2.1  Maven構(gòu)建工具配置 192
9.2.2  IntelliJ IDEA通過Maven構(gòu)建應(yīng)用程序 193
9.2.3  Maven工程架構(gòu)目錄 195
9.3  基于WebSocket的Netty響應(yīng)服務(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響應(yīng)客戶端開發(fā) 202
9.5  測試運(yùn)行Netty應(yīng)用程序 204
9.6  小結(jié) 207
第10章  項(xiàng)目實(shí)戰(zhàn):基于Netty構(gòu)建消息推送系統(tǒng) 208
10.1  WebSocket特點(diǎn) 208
10.2  Netty消息推送系統(tǒng)應(yī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)建客戶端的實(shí)現(xiàn) 220
10.4.2  基于WebSocket的HTML5客戶端網(wǎng)頁 226
10.5  測試運(yùn)行Netty應(yīng)用程序 228
10.6  小結(jié) 231

本目錄推薦

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