Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

https://blog.csdn.net/anxpp/article/details/51512200

https://www.cnblogs.com/tengpan-cn/p/5809273.html

一,bio。

  同步阻塞。传统的server。一个线程对应一个client连接。

二,nio

  同步非阻塞。一个线程服务很多client请求,然后在一个线程或线程池处理io业务。

三,aio

  异同步非阻塞。异步的套接字通道时真正的异步非阻塞I/O

NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,JDK1.4开始支持。
AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如HTTP服务器等,充分调用OS参与并发操作,JDK7开始支持

在实际linux上,aio好像并没有取代nio,并没有性能很大提升。并且,netty也封装nio较好。所有大家一般选择,netty框架。

原文地址:https://www.cnblogs.com/chen-msg/p/9300414.html