NIO简介:
NIO:非阻塞I/O 或 New I/O
应用场景:高并发网络编程,高并发网络服务支持岗
编程模型:
模型:对事物共性的抽象
编程模型:对编程共性的抽象
出现时间:JDK1.4以后才出现
BIO网络模型
BIO网络模型基于阻塞IO实现的。
BIO网络模型缺点
阻塞式I/O模型
弹性伸缩能力差
多线程耗资源
NIO网络模型猜想
NIO 网络编程模型
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
6.Acceptor Handler向Selector注册连接可读事件
7.Client发起请求
8.Selector启动连接读写处理器(Read&Write Handler)
9.Read&Write Handler处理与Client的读写业务
10.Read&Write Handler响应Client的请求
11.Read&Write Handler向Selector注册连接可读事件
NIO网络模型的改进之处
非阻塞式I/O模型
弹性伸缩能力强
单线程节省资源