IO和NIO的区别
2020-11-30 本文已影响0人
帮我的鸵鸟盖个章
IO和NIO的区别
IO的作用
IO的作用就是从外部程序读取数据到java程序中,或者把java中输出的数据回写到外部系统。这里的外部系统可能是磁盘,网络流等。与外部数据进行交互,这就是IO的作用>
所有IO的本质都是对缓冲的处理,不管是度还是写,都会把数据放到缓冲~
IO与NIO的区别
首先它们都属于IO,只是处理的方式不同。
java中,IO属于流式IO,即 Stream/IO。它只能一个字节一个字节的处理数据。
而NIO是以Block的方式来读取数据的,以块的形式从磁盘上读取数据,所以它能提升IO的效率。
Stream/IO 是阻塞的,当线程进行读写操作时,线程会被阻塞,数据只能处理一次,不能回退。而NIO是非阻塞的。
IO中的类:write,reader,inPutStream,outPutStream等
NIO中,由于是从磁盘读取数据,处理块的信息,所以缓冲是一个非常重要的概念,基本上它的大部分类都与缓冲相关。包括基础类型的buff:ShortBuffer,FloatBuffer,ByteBuffer等。
管道也是NIO 中一个很重要的概念,NIO通过管道读取数据。