bytebuffer的使用
filechannel作为数据读取通道,每次读到的数据存放到buffer缓冲区中再去取
BIO程序阻塞(阻塞IO),需要等待客户端发完消息才能建立起新的链接,对于并发处理较劣
NIO(非阻塞),selector多路复用器处理
NIO底层就是一套基于epoll的(事件轮询机制)多路复用,客户端总体有一个线程可以处理成千上万个连接,将有事件收发的chanel和没事件的分离开来,这样就不用每次都全遍历了,节省cpu的开销
轮询是基于操作系统的3个epoll内核函数
多路复用底层就是基于操作系统的函数对事件进行轮询(将有收发事件的channel分离l)
Redis底层也是Epoll轮询的的多路复用
Netty线程模型
Netty的启动(三行代码):
1.初始化服务端对象,初始化一个主类
2.将服务端对象绑定一些参数
3.绑定端口,启动