JAVA中的BIO、NIO、NIO2.0(AIO)

背景

最近项目中用到了netty框架,了解netty前的要先了解下io的知识,目前java中io的种类以下。java

JAVA现有的IO

同步阻塞IO

bio网络

应用程序在获取网络数据的时候,若是网络传输数据很慢,那么程序就一直等着,直至传输完毕为止。框架

举个栗子:8个字节的传输,只有把字节所有加入到流里面,才会进行读取。异步

同步非阻塞IO

nio函数

就是函数在不能马上获取到结果的时候,也马上返回。 可是,须要一直查询是否完整得到结果以便结束。spa

举个栗子:8个字节的传输,加入流里只有4个字节的数据,非阻塞的调用就会直接返回4个字节的数据,另外4个字节的数据,那就等它们到了再来读取。而后,有个方法会一值查询是否完成netty

异步非阻塞IO

aio同步

就是函数在不能马上获取到结果的时候,也马上返回。 当完成结果时,会主动通知,无需一直查询。io

举个栗子:8个字节的传输,当完成八个字节接收时,会主动进行通知。nio

相关文章
相关标签/搜索