BIO:实现模式为一个客户端请求,服务器就需要创建一个线程处理客户端的请求,如果客户端连接了服务器但是不做任何操作就会造成不必要的线程开销,可以使用线程池优化但不能解决根本问题,主要应用在连接数量比较少的架构中;

NIO:实现模式为一个客户端请求,通过使用channel传输将其注册到多路服用选择器上,非阻塞式的IO,使用IO多路复用选择器通过轮询的方式监听i/o请求,有实际的事件发生时才会启动执行;适用与多连接数量,短连接时长的架构中比如常见的聊天系统中;

AIO:异步非阻塞的实现模型,客户端的IO请求都是OS完成之后才通知服务器启动线程来处理,适用于数量多,连接长的架构中;编程比较复杂;