NIO基础操作
原文链接http://zhhll.icu/2020/05/18/java%E5%9F%BA%E7%A1%80/IO/NIO%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/ NIO 同步非阻塞 阻塞与非阻塞的区别: 阻塞时,在调用结果返回时,当前线程会被挂起,并在得到结果之后返回 非阻塞时,如不能立即得到结果,该调用不会阻塞当前线程,调用者需要定时轮询查看处理状态 Channel(通道)和Buffer(缓冲区) 与普通IO的不同和关系 NIO以块的方式处理数据,但是IO是以最基础的字节流的形式去写入和读出的 NIO不再是和IO一样用OutputStream和InputStream输入流的形式来进行处理数据的,但是又是基于这种流的方式,采用了通道和缓冲区的形式进行处理 NIO的通道是可以双向的,IO的流只能是单向的 NIO的缓冲区(字节数组)还可以进行分片,可以建立只读缓冲区、直接缓冲区和间接缓冲区,只读缓冲区就是只可以读,直接缓冲区是为了加快I/O速度,以一种特殊的方式分配其内存的缓冲区 NIO采用的是多路复用的IO模型,BIO用的是阻塞的IO模型 通道的概念 ...
