作者:June1993
    链接:https://www.nowcoder.com/discuss/357511?type=2&order=3&pos=6&page=1
    来源:牛客网

    Java NIO :同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。

    Java AIO(NIO.2) : 异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理,

    NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器。
    AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器。

    BIO是一个连接一个线程。(连接阻塞,Java处理IO同步)
    NIO是一个请求一个线程。(没有请求时,连接不占用线程,连接非阻塞,Java处理IO同步)
    AIO是一个有效请求一个线程。(连接非阻塞,Java处理IO委托给操作系统,异步进行处理)
    https://zhuanlan.zhihu.com/p/34408883