书籍详情
Netty权威指南
作者:李林锋 著
出版社:电子工业出版社
出版时间:2014-06-01
ISBN:9787121233432
定价:¥79.00
购买这本书可以去
内容简介
《Netty权威指南》是异步非阻塞通信领域的经典之作,基于最新版本Netty 5.0编写,是国内首本深入介绍Netty原理和架构的技术书籍,也是作者多年实战经验的总结和浓缩。在理论方面,讲解了Netty的逻辑架构模型和核心类库的设计原理,而且对Netty在大数据、互联网、游戏行业的应用进行了深入分析;实战方面,从第一个Netty入门程序到私有协议栈的设计和开发,通过实际例程,由浅入深地对Netty的核心API和类库的功能和用法进行了细致讲解。 《Netty权威指南》适合架构师、设计师、软件开发工程师、测试人员和其他对Java NIO框架、Java通信感兴趣的相关人士阅读,相信通过学习《Netty权威指南》,能够熟悉和掌握Netty这一优秀的异步通信框架,实现高可用分布式系统的构建。
作者简介
李林锋,Netty中国推广者,现华为技术有限公司平台中间件架构与设计部设计师,公司总裁技术创新奖获得者。长期从事高性能通信软件的架构设计和开发工作,有多年在NIO领域的设计、开发和运维经验,精通NIO编程和Netty、Mina等主流NIO框架。
目录
基础篇 走进Java NIO
第1章 Java的I/O演进之路 2
1.1 I/O基础入门 3
1.1.1 Linux网络I/O模型简介 3
1.1.2 I/O多路复用技术 6
1.2 Java的I/O演进 8
1.3 总结 10
第2章 NIO入门 11
2.1 传统的BIO编程 11
2.1.1 BIO通信模型图 12
2.1.2 同步阻塞式I/O创建的TimeServer源码分析 13
2.1.3 同步阻塞式I/O创建的TimeClient源码分析 16
2.2 伪异步I/O编程 18
2.2.1 伪异步I/O模型图 19
2.2.2 伪异步式I/O创建的TimeServer源码分析 19
2.2.3 伪异步I/O弊端分析 21
2.3 NIO编程 24
2.3.1 NIO类库简介 24
2.3.2 NIO服务端序列图 28
2.3.3 NIO创建的TimeServer源码分析 31
2.3.4 NIO客户端序列图 36
2.3.5 NIO创建的TimeClient源码分析 39
2.4 AIO编程 45
2.4.1 AIO创建的TimeServer源码分析 46
2.4.2 AIO创建的TimeClient源码分析 52
2.4.3 AIO版本时间服务器运行结果 56
2.5 4种I/O的对比 58
2.5.1 概念澄清 58
2.5.2 不同I/O模型对比 60
2.6 选择Netty的理由 60
2.6.1 不选择Java原生NIO编程的原因 61
2.6.2 为什么选择Netty 62
2.7 总结 63
入门篇 Netty NIO开发指南
第3章 Netty入门应用 66
3.1 Netty开发环境的搭建 66
3.1.1 下载Netty的软件包 67
3.1.2 搭建Netty应用工程 67
3.2 Netty服务端开发 68
3.3 Netty客户端开发 73
3.4 运行和调试 76
3.4.1 服务端和客户端的运行 76
3.4.2 打包和部署 77
3.5 总结 78
第4章 TCP粘包/拆包问题的解决之道 79
4.1 TCP粘包/拆包 79
4.1.1 TCP粘包/拆包问题说明 80
4.1.2 TCP粘包/拆包发生的原因 80
4.1.3 粘包问题的解决策略 81
4.2 未考虑TCP粘包导致功能异常案例 82
4.2.1 TimeServer的改造 82
4.2.2 TimeClient的改造 83
4.2.3 运行结果 84
4.3 利用LineBasedFrameDecoder解决TCP粘包问题 88
4.3.1 支持TCP粘包的TimeServer 88
4.3.2 支持TCP粘包的TimeClient 90
4.3.3 运行支持TCP粘包的时间服务器程序 93
4.3.4 LineBasedFrameDecoder和StringDecoder的原理分析 98
4.4 总结 99
第5章 分隔符和定长解码器的应用 100
5.1 DelimiterBasedFrameDecoder应用开发 101
5.1.1 DelimiterBasedFrameDecoder服务端开发 101
5.1.2 DelimiterBasedFrameDecoder客户端开发 104
5.1.3 运行DelimiterBasedFrameDecoder服务端和客户端 106
5.2 FixedLengthFrameDecoder应用开发 108
5.2.1 FixedLengthFrameDecoder服务端开发 108
5.2.2 利用telnet命令行测试EchoServer服务端 110
5.3 总结 111
中级篇 Netty编解码开发指南
第6章 编解码技术 114
6.1 Java序列化的缺点 115
6.1.1 无法跨语言 115
6.1.2 序列化后的码流太大 115
6.1.3 序列化性能太低 118
6.2 业界主流的编解码框架 121
6.2.1 Google的Protobuf介绍 121
6.2.2 Facebook的Thrift介绍 123
6.2.3 JBoss Marshalling介绍 124
6.3 总结 125
第7章 Java序列化 126
7.1 Netty Java序列化服务端开发 126
7.2 Java序列化Netty客户端开发 132
7.3 运行结果 135
7.4 总结 137
第8章 Google Protobuf编解码 138
8.1 Protobuf的入门 139
8.1.1 Protobuf开发环境搭建 139
8.1.2 Protobuf编解码开发 141
8.1.3 运行Protobuf例程 143
8.2 Netty的Protobuf服务端开发 143
8.2.1 Protobuf版本的图书订购服务端开发 144
8.2.2 Protobuf版本的图书订购客户端开发 146
8.2.3 Protobuf版本的图书订购程序功能测试 149
8.3 Protobuf的使用注意事项 152
8.4 总结 153
第9章 JBoss Marshalling编解码 154
9.1 Marshalling开发环境准备 154
9.2 Netty的Marshalling服务端开发 155
9.3 Netty的Marshalling客户端开发 158
9.4 运行Marshalling客户端和服务端例程 160
9.5 总结 162
高级篇 Netty多协议开发和应用
第10章 HTTP协议开发应用 164
10.1 HTTP协议介绍 165
10.1.1 HTTP协议的URL 165
10.1.2 HTTP请求消息(HttpRequest) 165
10.1.3 HTTP响应消息(HttpResponse) 168
10.2 Netty HTTP服务端入门开发 169
10.2.1 HTTP服务端例程场景描述 170
10.2.2 HTTP服务端开发 170
10.2.3 Netty HTTP文件服务器例程运行结果 178
10.3 Netty HTTP+XML协议栈开发 182
10.3.1 开发场景介绍 183
10.3.2 HTTP+XML协议栈设计 186
10.3.3 高效的XML绑定框架JiBx 187
10.3.4 HTTP+XML编解码框架开发 195
10.3.5 HTTP+XML协议栈测试 211
10.3.6 小结 213
10.4 总结 214
..........
猜您喜欢