IO和NIO的区别

IO和NIO的区别,第1张

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是指数据库文件的读写,也就是检索数据和插入数据。

希望我的回答对您有用!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6830382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存