一 BIO,NIO,和AIO的区别
同步阻塞IO(BIO) | 伪异步IO | 非阻塞IO(NIO) | 异步IO(AIO) | |
客户端个数:IO线程 | 1:1 | M:N(M可以大于N) | M:1(1个IO线程处理多个客户端连接) | M:0(不需要启动额外的IO线程,被动调回) |
IO类型(阻塞) | 阻塞 | 阻塞 | 非阻塞 | 非阻塞 |
IO类型(同步) | 同步 | 同步 | 同步(IO多路复用) | 异步 |
API使用难度 | 简单 | 简单 | 非常复杂 | 复杂 |
调试难度 | 简单 | 简单 | 复杂 | 复杂 |
可靠性 | 非常差 | 差 | 高 | 高 |
吞吐量 | 低 | 中 | 高 | 高 |
二 NIO的组成
三 Netty的特点
四 Netty的线程模型
五 TCP粘包/拆包的原因和解决方法
六 序列化协议分类及选择
七 Netty的零拷贝实现
八 Netty的高性能的表现
九 NIOEventLoopGroup源码
复杂 |