IO模型

  1. IO模型有阻塞IO,非阻塞IO,多路复用IO,信号驱动IO以及异步IO五种IO模型。
  2. Java支持BIO(同步阻塞IO),NIO(同步非阻塞),多路复用IO,信号驱动IO和异步IO

IO实现模式

  1. BIO:
  2. 同步阻塞IO,服务器实现模式为每一个连接会占用一个线程,线程数量开销大,线程切换CPU开销大。
  3. 应用场景: 适用于连接数目比较小而且架构固定,无高并发等小型应用程序。
  1. NIO:
  2. 同步非阻塞IO,服务器实现一个线程处理多个请求,客户端发送的请求会注册到多路复用器上,多路复用器
  3. 轮询到连接有IO请求就进行处理。
  4. 应用场景: NIO适用于连接数目多连接时间比较短的架构应用。
  1. AIO:
  2. 异步非阻塞IO,服务器实现一个有效请求一个线程,客户端的IO请求都是由操作系统先完成了再通知服务器
  3. 应用去启动线程进行处理,一般适用于连接数较多而且连接时间较长的应用。