Netty源码分析-(0)-预备知识
前言
关于Netty我们都知道(现在还不知道的Netty的怕是凤毛麟角)
Netty is an asynchronous event-driven network application framework
for rapid development of maintainable high performance protocol servers & clients.
Netty是一个异步事件驱动的应用框架,能够让我们更快的做一些网络开发。
阅读此系列博文,我对你的要求是 使用过原生的Java Nio进行过网络编程。
此篇博客算是我阅读Netty的笔记,会有自己探索的过程,望斧正。
预备知识
Java NIO
因为Netty也是建立在Java的Nio基础之上,所以需要有Java NIO的基础,可以参考 Java Nio 基础Reactor线程模式
推荐2篇文章- Understanding Reactor Pattern: Thread-Based and Event-Driven
- Netty 源码分析之 三 我就是大名鼎鼎的
简而言之Netty的线程模式是标准的多线程Reactor模型
Netty模块
正如图上所示,我们核心关注的应该是 core 部分
- Zero Copy Capable Byte Buf: 零拷贝数组
- Exstensible Event Model: 可扩展的事件模型
源码解读顺序
Netty 服务端启动流程
- 如何初始化NioServer
- NioEventLoop模型和Channel
Netty 服务端接受请求分析
- Netty 线程模式
- 如何调用Pipeline
- Pipeline工作机制
- Netty 的ByteBuf
- Netty的Bytebuf实现