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 通过管道读取数据。
I/O(input/output)一般是指数据读出、写入的能力。I/O的强弱是由CPU,内存,SD性能,主板性能综合决定的。
IO有四种类型:连续读,随机读,随机写和连续写
连续读写的IO size通常比较大(128KB-1MB),主要衡量吞吐量
随机读写的IO size比较小(小于8KB),主要衡量IOPS和响应时间。
数据库中的全表扫描是连续读IO,索引访问则是典型的随机读IO,日志文件是连续写IO,而数据文件则是随机写IO。
您好,很高兴为您解答!
mysql是以文件的形式存储的;
mysql的IO是指数据库文件的读写,也就是检索数据和插入数据。
希望我的回答对您有用!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)