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