io 分为同步io(bio) 和异步io(nio)
bio 是指 读或者写操作是阻塞的,及同步io
nio 是指读或者写是由操作系统完成的,及非阻塞的。nio是基于事件驱动的,采用的是Reactor方式实现的。
aio 也是异步io,基于事件的。是采用Proactor 模式实现的,从程序角度来说,和nio不同,当进行读写操作时,只需直接调用api的read或者write方法就可以了,这两种方法均是异步的,流的读取和写入都是有操作系统完成的。而 nio 是采用遍历事件通知队列的代价来完成的。
java 7 将对aio进行支持, java 7以前的版本仅支持 bio 和nio。
yanf4j 是采用aio的方式实现的网络层,有兴趣的童鞋可以下载源码阅读。 yanf4j是一个高效的网络传输框架