Netty实战

Netty实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-11
版次: 1
ISBN: 9787302563402
定价: 59.00
装帧: 其他
开本: 16开
纸张: 胶版纸
17人买过
  • Netty是一个开源的、基于NIO的客户端和服务器端Java编程框架。本书涵盖Netty开发中绝大多数需要掌握的基本原理、方法与技巧,是一本比较实用的Netty参考书,可以作为Java Web应用开发人员的技术指导手册。 全书分为10章,包括Netty基础(从Java IO演进)、构建完整的Netty应用、Netty线程模型、Netty内存管理、Transport(传输)、Channel(通道)、Codec(编解码器)和Bootstrap(引导)等核心内容的8章,还包括基于WebSocket构建Netty响应服务器和Netty消息推送系统这两个项目实战的2章。本书对应用Netty框架开发网络应用有很好的指导作用。 本书内容简洁明了、通俗易懂、原理清晰、重点突出、实例丰富、代码精练,适合想要学习Netty的Java Web应用开发人员,同时也非常适合作为高等院校和培训学校计算机及相关专业的辅助教材。 王金柱,对JavaScript语言、jQuery框架、Node.js、React等Web前端开发有着独到的经验,并精通HTML/XHTML、CSS与PHP等开发语言的应用。有着10多年丰富的IT从业经历,完成过多家大型央企与上市公司的企业级Web系统平台项目的前端模块开发工作。 第1章  从Java IO到Netty 1

    1.1  了解Java中的IO通信 1

    1.1.1  IO通信基础 1

    1.1.2  “同步/异步”与“阻塞/非阻塞” 2

    1.1.3  传统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开发环境 6

    1.2.3  Netty开发工具—IntelliJ IDEA 8

    1.3  实战:Netty版的“Hello World”程序 9

    1.3.1  使用IntelliJ IDEA创建项目 9

    1.3.2  引入Netty包 11

    1.3.3  编写Netty应用程序 14

    1.3.4  测试HelloNetty服务器端应用 17

    1.4  Netty框架模块介绍 20

    1.4.1  Netty框架功能模块的组织结构 20

    1.4.2  Netty Bootstrap入口模块 21

    1.4.3  Netty Channel传输通道模块 22

    1.4.4  Netty EventLoop事件循环模块 23

    1.4.5  Netty ChannelFuture异步通知接口 23

    1.4.6  ChannelHandler与ChannelPipeline接口 24

    1.5  小结 25

    第2章  构建完整的Netty应用程序 26

    2.1  搭建完整的Netty架构 26

    2.1.1  通过Intellij IDEA创建Java应用程序 26

    2.1.2  导入jar包文件 27

    2.1.3  组织源码目录架构 28

    2.2  开发Netty丢弃应用(DiscardNetty) 29

    2.2.1  创建Java源码文件 29

    2.2.2  服务器端实现 29

    2.2.3  客户端实现 33

    2.2.4  测试运行DiscardNetty应用 37

    2.3  开发Netty响应应用(EchoNetty) 38

    2.3.1  创建Java源码文件 39

    2.3.2  服务器端实现 39

    2.3.3  客户端实现 43

    2.3.4  测试运行EchoNetty应用 47

    2.4  小结 49

    第3章  Netty线程模型 50

    3.1  线程基础 50

    3.1.1  线程(Thread) 50

    3.1.2  进程(Process) 51

    3.1.3  进程与线程的关系 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模型的关系 61

    3.4.2  Netty单线程模型应用 62

    3.4.3  Netty多线程模型应用 63

    3.4.4  主从Netty多线程模型应用 64

    3.4.5  Netty线程模型流程 66

    3.5  小结 66

    第4章  Netty内存管理 67

    4.1  内存管理基础 67

    4.1.1  什么是内存管理 68

    4.1.2  Netty内存管理方式 68

    4.1.3  Buffer模块 68

    4.2  Netty内存管理核心 69

    4.2.1  什么是ByteBuf 69

    4.2.2  ByteBuf及其辅助类 69

    4.2.3  ByteBuf工作原理 71

    4.2.4  ByteBuf动态扩展 73

    4.2.5  ByteBuf使用模式 75

    4.2.6  ByteBuf字节操作 79

    4.3  Netty内存管理辅助类 98

    4.3.1  ByteBufAllocator内存分配 98

    4.3.2  Unpooled负责非池化缓存 99

    4.3.3  ByteBufHolder接口设计 99

    4.3.4  ReferenceCounted引用计数器 101

    4.3.5  ByteBufUtil接口设计 102

    4.4  Netty实现“零拷贝” 102

    4.5  Netty内存泄漏检测机制 104

    4.6  小结 107

    第5章  Netty传输功能 108

    5.1  Netty Transport基础 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协议 113

    5.4.1  NIO传输协议 113

    5.4.2  OIO传输协议 115

    5.4.3  本地传输协议 116

    5.4.4  内嵌传输协议 116

    5.5  小结 116

    第6章  Netty Channel 117

    6.1  Channel基础 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接口架构 119

    6.2.2  Channel接口实现 120

    6.2.3  Channel接口生命周期 123

    6.3  Netty ChannelHandler接口 124

    6.3.1  ChannelHandler接口架构 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接口架构 138

    6.4.2  ChannelPipeline与ChannelHandler关系 139

    6.4.3  ChannelPipeline实现 139

    6.4.4  ChannelPipeline修改 145

    6.4.5  ChannelHandler执行ChannelPipeline与阻塞 146

    6.4.6  ChannelPipeline事件传递 147

    6.5  Netty ChannelHandlerContext接口 147

    6.5.1  ChannelHandlerContext接口基础 147

    6.5.2  ChannelHandlerContext接口使用 148

    6.6  小结 151

    第7章  Netty编码与解码 152

    7.1  Codec基础 152

    7.1.1  编码与解码 152

    7.1.2  Codec的作用 153

    7.1.3  Netty Codec基础 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  小结 166

    第8章  Netty引导 167

    8.1  Bootstrap基础 167

    8.2  Bootstrap类型 168

    8.3  Bootstrap客户端 172

    8.3.1  Bootstrap客户端引导原理 173

    8.3.2  Bootstrap客户端类介绍 178

    8.3.3  Bootstrap构建NIO客户端 179

    8.4  Bootstrap服务器端 180

    8.4.1  ServerBootstrap服务器端引导原理 180

    8.4.2  ServerBootstrap服务器端类介绍 182

    8.4.3  ServerBootstrap构建NIO服务器端 183

    8.5  从Channel引导客户端 184

    8.6  服务器端配置两个EventLoopGroup 187

    8.7  小结 189

    第9章  项目实战:基于WebSocket搭建Netty服务器 190

    9.1  WebSocket协议 190

    9.1.1  WebSocket介绍 191

    9.1.2  WebSocket与Socket 191

    9.1.3  WebSocket与HTTP和TCP 191

    9.2  构建Netty响应服务器应用程序框架 192

    9.2.1  Maven构建工具配置 192

    9.2.2  IntelliJ IDEA通过Maven构建应用程序 193

    9.2.3  Maven工程架构目录 195

    9.3  基于WebSocket的Netty响应服务器端开发 196

    9.3.1  服务器端Server主入口类 196

    9.3.2  服务器端Server子处理器类 198

    9.3.3  服务器端Handler辅助类 200

    9.4  基于WebSocket的Netty响应客户端开发 202

    9.5  测试运行Netty应用程序 204

    9.6  小结 207

    第10章  项目实战:基于Netty构建消息推送系统 208

    10.1  WebSocket特点 208

    10.2  Netty消息推送系统应用程序架构 209

    10.3  Netty消息推送系统服务器端开发 210

    10.3.1  服务器端Server主入口类 210

    10.3.2  服务器端Server子处理器类 213

    10.3.3  服务器端Handler辅助类 214

    10.3.4  服务器端Channel辅助类 219

    10.4  Netty消息推送系统客户端开发 220

    10.4.1  基于Netty构建客户端的实现 220

    10.4.2  基于WebSocket的HTML5客户端网页 226

    10.5  测试运行Netty应用程序 228

    10.6  小结 231
  • 内容简介:
    Netty是一个开源的、基于NIO的客户端和服务器端Java编程框架。本书涵盖Netty开发中绝大多数需要掌握的基本原理、方法与技巧,是一本比较实用的Netty参考书,可以作为Java Web应用开发人员的技术指导手册。 全书分为10章,包括Netty基础(从Java IO演进)、构建完整的Netty应用、Netty线程模型、Netty内存管理、Transport(传输)、Channel(通道)、Codec(编解码器)和Bootstrap(引导)等核心内容的8章,还包括基于WebSocket构建Netty响应服务器和Netty消息推送系统这两个项目实战的2章。本书对应用Netty框架开发网络应用有很好的指导作用。 本书内容简洁明了、通俗易懂、原理清晰、重点突出、实例丰富、代码精练,适合想要学习Netty的Java Web应用开发人员,同时也非常适合作为高等院校和培训学校计算机及相关专业的辅助教材。
  • 作者简介:
    王金柱,对JavaScript语言、jQuery框架、Node.js、React等Web前端开发有着独到的经验,并精通HTML/XHTML、CSS与PHP等开发语言的应用。有着10多年丰富的IT从业经历,完成过多家大型央企与上市公司的企业级Web系统平台项目的前端模块开发工作。
  • 目录:
    第1章  从Java IO到Netty 1

    1.1  了解Java中的IO通信 1

    1.1.1  IO通信基础 1

    1.1.2  “同步/异步”与“阻塞/非阻塞” 2

    1.1.3  传统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开发环境 6

    1.2.3  Netty开发工具—IntelliJ IDEA 8

    1.3  实战:Netty版的“Hello World”程序 9

    1.3.1  使用IntelliJ IDEA创建项目 9

    1.3.2  引入Netty包 11

    1.3.3  编写Netty应用程序 14

    1.3.4  测试HelloNetty服务器端应用 17

    1.4  Netty框架模块介绍 20

    1.4.1  Netty框架功能模块的组织结构 20

    1.4.2  Netty Bootstrap入口模块 21

    1.4.3  Netty Channel传输通道模块 22

    1.4.4  Netty EventLoop事件循环模块 23

    1.4.5  Netty ChannelFuture异步通知接口 23

    1.4.6  ChannelHandler与ChannelPipeline接口 24

    1.5  小结 25

    第2章  构建完整的Netty应用程序 26

    2.1  搭建完整的Netty架构 26

    2.1.1  通过Intellij IDEA创建Java应用程序 26

    2.1.2  导入jar包文件 27

    2.1.3  组织源码目录架构 28

    2.2  开发Netty丢弃应用(DiscardNetty) 29

    2.2.1  创建Java源码文件 29

    2.2.2  服务器端实现 29

    2.2.3  客户端实现 33

    2.2.4  测试运行DiscardNetty应用 37

    2.3  开发Netty响应应用(EchoNetty) 38

    2.3.1  创建Java源码文件 39

    2.3.2  服务器端实现 39

    2.3.3  客户端实现 43

    2.3.4  测试运行EchoNetty应用 47

    2.4  小结 49

    第3章  Netty线程模型 50

    3.1  线程基础 50

    3.1.1  线程(Thread) 50

    3.1.2  进程(Process) 51

    3.1.3  进程与线程的关系 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模型的关系 61

    3.4.2  Netty单线程模型应用 62

    3.4.3  Netty多线程模型应用 63

    3.4.4  主从Netty多线程模型应用 64

    3.4.5  Netty线程模型流程 66

    3.5  小结 66

    第4章  Netty内存管理 67

    4.1  内存管理基础 67

    4.1.1  什么是内存管理 68

    4.1.2  Netty内存管理方式 68

    4.1.3  Buffer模块 68

    4.2  Netty内存管理核心 69

    4.2.1  什么是ByteBuf 69

    4.2.2  ByteBuf及其辅助类 69

    4.2.3  ByteBuf工作原理 71

    4.2.4  ByteBuf动态扩展 73

    4.2.5  ByteBuf使用模式 75

    4.2.6  ByteBuf字节操作 79

    4.3  Netty内存管理辅助类 98

    4.3.1  ByteBufAllocator内存分配 98

    4.3.2  Unpooled负责非池化缓存 99

    4.3.3  ByteBufHolder接口设计 99

    4.3.4  ReferenceCounted引用计数器 101

    4.3.5  ByteBufUtil接口设计 102

    4.4  Netty实现“零拷贝” 102

    4.5  Netty内存泄漏检测机制 104

    4.6  小结 107

    第5章  Netty传输功能 108

    5.1  Netty Transport基础 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协议 113

    5.4.1  NIO传输协议 113

    5.4.2  OIO传输协议 115

    5.4.3  本地传输协议 116

    5.4.4  内嵌传输协议 116

    5.5  小结 116

    第6章  Netty Channel 117

    6.1  Channel基础 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接口架构 119

    6.2.2  Channel接口实现 120

    6.2.3  Channel接口生命周期 123

    6.3  Netty ChannelHandler接口 124

    6.3.1  ChannelHandler接口架构 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接口架构 138

    6.4.2  ChannelPipeline与ChannelHandler关系 139

    6.4.3  ChannelPipeline实现 139

    6.4.4  ChannelPipeline修改 145

    6.4.5  ChannelHandler执行ChannelPipeline与阻塞 146

    6.4.6  ChannelPipeline事件传递 147

    6.5  Netty ChannelHandlerContext接口 147

    6.5.1  ChannelHandlerContext接口基础 147

    6.5.2  ChannelHandlerContext接口使用 148

    6.6  小结 151

    第7章  Netty编码与解码 152

    7.1  Codec基础 152

    7.1.1  编码与解码 152

    7.1.2  Codec的作用 153

    7.1.3  Netty Codec基础 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  小结 166

    第8章  Netty引导 167

    8.1  Bootstrap基础 167

    8.2  Bootstrap类型 168

    8.3  Bootstrap客户端 172

    8.3.1  Bootstrap客户端引导原理 173

    8.3.2  Bootstrap客户端类介绍 178

    8.3.3  Bootstrap构建NIO客户端 179

    8.4  Bootstrap服务器端 180

    8.4.1  ServerBootstrap服务器端引导原理 180

    8.4.2  ServerBootstrap服务器端类介绍 182

    8.4.3  ServerBootstrap构建NIO服务器端 183

    8.5  从Channel引导客户端 184

    8.6  服务器端配置两个EventLoopGroup 187

    8.7  小结 189

    第9章  项目实战:基于WebSocket搭建Netty服务器 190

    9.1  WebSocket协议 190

    9.1.1  WebSocket介绍 191

    9.1.2  WebSocket与Socket 191

    9.1.3  WebSocket与HTTP和TCP 191

    9.2  构建Netty响应服务器应用程序框架 192

    9.2.1  Maven构建工具配置 192

    9.2.2  IntelliJ IDEA通过Maven构建应用程序 193

    9.2.3  Maven工程架构目录 195

    9.3  基于WebSocket的Netty响应服务器端开发 196

    9.3.1  服务器端Server主入口类 196

    9.3.2  服务器端Server子处理器类 198

    9.3.3  服务器端Handler辅助类 200

    9.4  基于WebSocket的Netty响应客户端开发 202

    9.5  测试运行Netty应用程序 204

    9.6  小结 207

    第10章  项目实战:基于Netty构建消息推送系统 208

    10.1  WebSocket特点 208

    10.2  Netty消息推送系统应用程序架构 209

    10.3  Netty消息推送系统服务器端开发 210

    10.3.1  服务器端Server主入口类 210

    10.3.2  服务器端Server子处理器类 213

    10.3.3  服务器端Handler辅助类 214

    10.3.4  服务器端Channel辅助类 219

    10.4  Netty消息推送系统客户端开发 220

    10.4.1  基于Netty构建客户端的实现 220

    10.4.2  基于WebSocket的HTML5客户端网页 226

    10.5  测试运行Netty应用程序 228

    10.6  小结 231
查看详情
相关图书 / 更多
Netty实战
New小学英语同步阅读 五年级上册
郑文
Netty实战
New Thinking in GIScience
Bin Li;Xun Shi;A-Xin
Netty实战
Neo4j图谱分析实战
[美]埃斯特尔·赛弗 著;沈·F 译
Netty实战
Netty源码全解与架构思维
黄俊
Netty实战
New小学英语同步阅读 三年级上册
郑文
Netty实战
Nesbitt不等式加强式的研究
邹守文 著
Netty实战
New小学英语同步阅读 二年级下册
郑文
Netty实战
New小学英语同步阅读 六年级上册
郑文
Netty实战
New小学英语同步阅读一年级上册
郑文 编
Netty实战
Next.js实战
[美]米歇尔·里瓦 著;李伟 译
Netty实战
New小学英语同步阅读 一年级下册
郑文
Netty实战
New小学英语同步阅读 六年级下册
郑文