netty结构
2017-03-01 00:09:51 158 举报
AI智能生成
Netty目录结构
作者其他创作
大纲/内容
走进JavaNIO
1、java的IO演进之路
IO基础入门
Linux网络IO模型简介
IO多路复用技术
Java的IO演进
总结
2、NIO入门
传统的BIO编程
BIO通信模型图
同步阻塞式IO创建的TimeServer源码分析
同步阻塞式IO创建的TimeClient源码分析
伪异步IO编程
伪异步IO模型图
伪异步IO创建的TimeServer源码分析
伪异步IO弊端分析
NIO编程
NIO类库简介
NIO服务端序列图
NIO创建的TimeServer源码分析
NIO客户端时序图
NIO创建的TimeClient源码分析
AIO编程
AIO创建的TimeServer源码分析
AIO创建的TimeClient源码分析
AIO版本时间服务器运行结果
4种IO对比
概念澄清
不同IO模型对比
选择Netty的理由
不选择Java原生NIO编程的原因
为什么选择Netty
总结
Netty NIO开发指南
3、Netty入门应用
Netty开发环境的搭建
下载Netty的阮家宝
搭建Netty应用工程
Netty服务端开发
Netty客户端开发
运行和调试
服务端和客户端的运行
打包和部署
总结
4、TCP粘包拆包问题的解决之道
TCP粘包拆包
TCP粘包拆包问题说明
TCP粘包拆包发生的原因
粘包问题的解决策略
未考虑TCP粘包导致功能异常案例
TimeServer的改造
TimeClient的改造
运行结果
利用LineBasedFrameDecoder解决TCP粘包问题
支持TCP粘包的TimeServer
支持TCP粘包的TimeClient
运行支持TCP粘包的时间服务器程序
LineBasedFrameDecoder和StringDecoder的原理分析
总结
5、分隔符和定长解码器的应用
DelimiterBasedFrameDecoder应用开发
DelimiterBasedFrameDecoder服务端开发
DelimiterBaseFrameDecoder客户端开发
运行DelimiterBasedFrameDecoder服务端和客户端
FixedLenthFrameDecoder应用开发
FixedLengthFrameDecoder服务端开发
利用telnet命令行测试EchoServer服务端
总结
Netty编解码开发指南
6、编解码技术
java序列化的缺点
无法跨语言
序列化后的码流太大
序列化性能太低
业界主流的编码解码框架
google的protobuf
facebook的thrift
jboss的marshalling
总结
7、MessagePack编解码
MessagePack介绍
MessagePack多语言支持
messagePack java API介绍
MessagePack开发包下载
MessagePack编码器和解码器开发
MessagePack编码器开发
MessagePack解码器开发
功能测试
粘包半包支持
总结
8、google protobuf编解码
Protobuf的入门
protobuf开发环境搭建
protobuf编解码开发
运行protobuf例子
Netty的Protobuf服务端开发
protobuf版本的图书订购服务端开发
protobuf版本的图书订购客户端开发
protobuf版本的图书订购程序功能测试
Protobuf的使用注意事项
总结
9、Jboss Marshalling编解码
Marshalling开发环境准备
Netty的Marshalling服务端开发
Netty的Marshalling客户端开发
运行Marshalling客户端和服务端历程
总结
Netty多协议开发和应用
10、http协议开发应用
Http协议的介绍
Http协议的url
Http协议的请求消息
Http协议的请求响应
Netty Http服务端入门
Http服务端例子场景描述
Http服务端开发
Netty Http文件服务器例子运行结果
Netty Http+xml协议栈开发
开发场景介绍
Http+xml协议栈设计
高效的XML绑定框架JiBx
Http+xml编解码框架开发
Http+xml协议栈测试
小结
总结
11、websocket协议开发
Http协议的弊端
WebSocket入门
websocket背景
websocket连接建立
websocket生命周期
websocket连接关闭
Netty WebSocket协议开发
WebSocket服务端功能介绍
WebSocket服务端开发
运行WebSocket服务端
总结
12、私有协议栈开发
私有协议介绍
Netty协议栈功能设计
网络拓扑图
协议栈功能描述
通信模型
消息定义
Netty协议支持的字段类型
Netty协议的编解码规范
链路的建立
链路的关闭
可靠性设计
安全性设计
可扩展性设计
Netty协议栈开发
数据结构定义
消息编解码
握手和安全认证
心跳检测机制
断连重连
客户端代码
服务端代码
运行协议栈
正常场景
异常场景:服务端宕机重启
异常场景:客户端宕机重启
总结
13、服务端创建
原生NIO类库的复杂性
Netty服务端创建源码分析
Netty服务端创建时序图
Netty服务端创建源码分析
客户端接入源码分析
总结
14、客户端创建
Netty客户端创建流程分析
Netty客户端创建时序图
Netty客户端创建流程分析
Netty客户端创建源码分析
客户端连接辅助类Bootstrap
客户端连接操作
异步链接结果通知
客户端连接超时机制
总结
Netty功能介绍和源码分析
15、ByteBuf和相关辅助类
ByteBuf功能说明
ByteBuf的工作原理
ByteBuf的功能介绍
ByteBuf源码分析
ByteBuf的主要类继承关系
AbstractByteBuf源码分析
AbstractReferenceCountedByteBuf源码分析
UnpooledHeapByteBuf源码分析
PooledButeBuf内存池原理分析
PooledDirectByteBuf源码分析
ByteBuf相关的辅助类功能介绍
ByteBufHolder
ByteBufAllocator
CompositeByteBuf
ByteBufUtil
总结
16、channel和unsafe
Channel功能说明
Channel的工作原理
Channel的功能介绍
Channel源码分析
Channel的主要继承关系类图
AbstractChannel源码分析
AbstractNIOChannel源码分析
AbstractNioByteChannel源码分析
AbstractNioMessageChannel源码分析
AbstractNioMessageServerChannel源码分析
NioServerSocketChannel源码分析
NioSocketChannel源码分析
Unsafe功能说明
Unsafe源码分析
Unsafe继承关系类图
AbstractUnsafe源码分析
AbstractNioUnsafe源码分析
NioByteUnsafe源码分析
总结
17、channelPipeline和channelHandler
ChannelPipeline功能说明
ChannelPipeline的事件处理
自定义拦截器
构建Pipeline
ChannelPipeline的主要特性
ChannelPipeline源码分析
ChannelPipeline的类集成关系图
ChannelPipeline对ChannelHandler的管理
ChannelPipeline的inbound事件
ChannelPipeline的outbound事件
ChannelHandler功能说明
ChannelHandlerAdapter功能说明
ByteToMessageDecoder功能说明
MessageToMessageDecoder功能说明
LengthFieldBasedFrameDecoder功能说明
MessageToByteEncoder功能说明
MessageToMessageEncoder功能说明
LengthFieldPrepender功能说明
ChannelHandler源码分析
ChannelHandler的类集成关系图
ByteToMessageDecoder源码分析
MessageToMessageDecoder源码分析
LengthFieldBasedFrameDecoder源码分析
MessageToByteEncoder源码分析
MessageToMessageEncoder源码分析
LengthFieldPrepender源码分析
总结
18、eventLoop和eventLoopGroup
Netty的线程模型
Reactor单线程模型
Reactor多线程模型
主从Reactor多线程模型
Netty的线程模型
最佳实践
NioEventLoop源码分析
NioEventLoop设计原理
NioEventLoop继承关系类图
NioEventLoop
总结
19、future和promise
Future功能
ChannelFuture源码分析
Promise功能介绍
Promise源码分析
Promise继承关系类图
DefaultPromise
总结
架构和行业应用篇
20、Netty架构剖析
Netty的逻辑架构
子主题
子主题
子主题
关键架构质量属性
子主题
子主题
子主题
子主题
总结
21、java多线程编程在Netty中的应用
java内存模型与多线程编程
硬件的发展和多任务处理
java内存模型
Netty的并发编程实践
对共享的可变数据进行正确的同步
正确使用锁
volatile正确使用
CAS指令和原子类
线程安全类的应用
读写锁的应用
线程安全性文档说明
不要依赖线程优先级
总结
22、高性能之道
RPC调用性能模型分析
传统RPC调用性能差的三宗罪
IO通信性能三原则
Netty高性能之道
异步非阻塞通信
高效的Reactor线程模型
无锁化的串行设计
高效的并发编程
高性能的序列化框架
零拷贝
内存池
灵活的TCP参数配置能力
主流NIO框架性能对比
总结
23、可靠性
可靠性需求
子主题
子主题
Netty高可靠性设计
子主题
子主题
子主题
子主题
子主题
子主题
优化建议
子主题
子主题
总结
24、安全性
严峻的安全形式
OpenSSL Heart bleed漏洞
安全漏洞的代价
Netty面临的安全风险
NettySSL安全特性
SSL单项认证
SSL双向认证
第三方CA认证
Netty SSL源码分析
客户端
服务端
消息读取
消息发送
Netty 扩展的安全特性
IP地址黑名单机制
接入认证
总结
25、Netty未来展望
应用范围
技术演进
社区活跃度
Road Map
总结
Netty多协议开发和应用
10、http协议开发应用
Http协议的介绍
Http协议的url
Http协议的请求消息
Http协议的请求响应
Netty Http服务端入门
Http服务端例子场景描述
Http服务端开发
Netty Http文件服务器例子运行结果
Netty Http+xml协议栈开发
开发场景介绍
Http+xml协议栈设计
高效的XML绑定框架JiBx
Http+xml编解码框架开发
Http+xml协议栈测试
小结
总结
11、websocket协议开发
Http协议的弊端
WebSocket入门
websocket背景
websocket连接建立
websocket生命周期
websocket连接关闭
Netty WebSocket协议开发
WebSocket服务端功能介绍
WebSocket服务端开发
运行WebSocket服务端
总结
12、私有协议栈开发
私有协议介绍
Netty协议栈功能设计
网络拓扑图
协议栈功能描述
通信模型
消息定义
Netty协议支持的字段类型
Netty协议的编解码规范
链路的建立
链路的关闭
可靠性设计
安全性设计
可扩展性设计
Netty协议栈开发
数据结构定义
消息编解码
握手和安全认证
心跳检测机制
断连重连
客户端代码
服务端代码
运行协议栈
正常场景
异常场景:服务端宕机重启
异常场景:客户端宕机重启
总结
13、服务端创建
原生NIO类库的复杂性
Netty服务端创建源码分析
Netty服务端创建时序图
Netty服务端创建源码分析
客户端接入源码分析
总结
14、客户端创建
Netty客户端创建流程分析
Netty客户端创建时序图
Netty客户端创建流程分析
Netty客户端创建源码分析
客户端连接辅助类Bootstrap
客户端连接操作
异步链接结果通知
客户端连接超时机制
总结
0 条评论
下一页