1、IO
IO的全称是:Input/Output的缩写。
2、BIO
BIO 是 blocking I/O 的缩写,同步阻塞I/O。
例如:Socket
3、NIO
NIO 是 non-blocking I/O的缩写,同步非阻塞I/O。
例如:java nio框架
4、AIO
AIO 是 Asynchronous I/O的缩写,异步非阻塞I/O。
适用场景
-
BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。
-
NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。
-
AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。