一.Netty的由来
jdk1.4后引入了Nio(非阻塞io),提出了channel,Buffer,Selector三个核心概念,采用多路复用模式,提高了IO操作的效率。
二.NIO和IO的对比
1.IO 基于流(Stream oriented), 而 NIO 基于 Buffer (Buffer oriented)
2.IO 操作是阻塞的, 而 NIO 操作是非阻塞的
3.IO 没有 selector 概念, 而 NIO 有 selector 概念.
Stream和Buffer的区别
stream是顺序的,不可逆,不可调节指针位置,且流式操作要么读,要么写。
buffer是跟channel数据交互,支持指定指针位置,支持读,写。
三.selector
选择器相当于一个监控多个channel的人,将channel注册到selector上,他就可以很好的管理你的IO操作。
网友评论