之前我们已经分析了linux下的IO模式:阻塞IO、非阻塞IO、IO复用、信号驱动IO、异步IO。
非阻塞IO,因为对单个IO轮询而占用大量CPU资源,所以不实用;
信号驱动IO也不常用,所以Java对于IO的支持分为BIO(阻塞IO)、NIO(非阻塞IO)、AIO(异步IO)。
Java1.4之前仅支持BIO即阻塞IO,使用简单,性能低下;
Java1.4之后开始支持NIO即非阻塞IO,应该对应上面的IO复用(这个复用据说在内部是基于轮询实现的);
Java7开始支持AIO即异步IO,也就是IOCP(IOcallback)模式,是开销最小实现也比较实惠的一种调用方式,为超大规模并发编程提供了支持。
阅读(2000) | 评论(0) | 转发(0) |