谈到并发编程就不得不提到NIO,以及相关的Java NIO框架Netty等,并且在很d多面试中也经常提到NIO和AIO、同步和异步、阻塞和非阻塞等的区别。我先简短介绍下几个NIO相关的概念,然后再谈NIO重点掌握内容,以及Java NIO框架选型。
AIO、BIO、NIO的区别
IO模型主要分类:
+ 同步(synchronous) IO和异步(asynchronous) IO
+ 阻塞(blocking) IO和非阻塞(non-blocking)IO
+ 同步阻塞(blocking-IO)简称BIO
+ 同步非阻塞(non-blocking-IO)简称NIO
+ 异步非阻塞(synchronous-non-blocking-IO)简称AIO