IO流知识汇总(不断更新)

io,知识,汇总,不断更新 · 浏览次数 : 2

小编点评

**BIO(Blocking IO)** * 同步阻塞IO,阻塞的IO方式,在读取或写入数据时,如果有数据可读或可写,则线程会一直等待,直到有数据可读或可写。 * 适合连接数较小的场景,例如单机版的服务器。 **NIO(New IO)** * 同步非阻塞IO,一种基于事件驱动的IO方式,可以处理多个连接,且不会阻塞线程。 * 适合连接数较多的场景,例如高并发的网络服务器。 **AIO(Asynchronous IO)** *异步非阻塞IO,一种基于回调的IO方式,可以处理多个连接,且不会阻塞线程。 * 适合连接数较多且数据量较大的场景,例如文件传输、视频流传输等。

正文

BIO、NIO、AIO有什么区别?

BIO、NIO、AIO是Java中用于处理IO的三种不同的方式,它们之间的区别如下:

  1. BIO(Blocking IO):同步阻塞IO,传统的IO模型,也称为传统IO,是一种阻塞的IO方式,即在读取或写入数据时,如果没有数据可读或可写,则线程会一直等待,直到有数据可读或可写。BIO适合于连接数较小的场景,例如单机版的服务器。
  2. NIO(New IO):同步非阻塞IO,是一种基于事件驱动的IO方式,也称为事件驱动IO,它可以处理多个连接,且不会阻塞线程。NIO适合于连接数较多的场景,例如高并发的网络服务器。
  3. AIO(Asynchronous IO):异步非阻塞IO,是一种基于回调的IO方式,也称为异步IO,它可以处理多个连接,且不会阻塞线程。AIO适合于连接数较多且数据量较大的场景,例如文件传输、视频流传输等。

总结:BIO适合于连接数较小的场景,NIO适合于连接数较多的场景,AIO适合于连接数较多且数据量较大的场景,不同的场景选择不同的IO模型可以更好地发挥系统的性能。

与IO流知识汇总(不断更新)相似的内容:

IO流知识汇总(不断更新)

IO流知识汇总

[转帖]select、poll、epoll之间的区别

时间复杂度 (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间

11.IO 流

1.IO 流引入 概述:以应用程序为参照物,读取数据为输入流(Input),写数据为输出流(Output),大量输入输出数据简称 IO 流 原理: 2.IO 流的分类 读写的文件分类 二进制文件:打开后是乱码,或者是 16 进制,无法生成文件的文件 文本文件:打开文件内容可以直接阅读 IO流读取数据

面试官:Java中缓冲流真的性能很好吗?我看未必

一、写在开头 上一篇文章中,我们介绍了Java IO流中的4个基类:InputStream、OutputStream、Reader、Writer,那么这一篇中,我们将以四个基类所衍生出来,应对不同场景的数据流进行学习。 二、衍生数据流分类 我们上面说了java.io包中有40多个类,都从InputS

面试官:字节流可以处理一切文件为什么还需要字符流呢?

一、写在开头 在计算机领域中百分之九十以上的程序拥有着和外部设备交互的功能,这就是我们常说的IO(Input/Output:输入/输出),所谓输入就是外部数据导入计算机内存中的过程,输出则是将内存或者说程序中的数据导入到外部存储中,如数据库、文件以及其他本地磁盘等。 二、什么是IO流 这种输入输出往

[转帖]Java IO篇:序列化与反序列化

1、什么是序列化: 两个服务之间要传输一个数据对象,就需要将对象转换成二进制流,通过网络传输到对方服务,再转换成对象,供服务方法调用。这个编码和解码的过程称之为序列化和反序列化。所以序列化就是把 Java 对象变成二进制形式,本质上就是一个byte[]数组。将对象序列化之后,就可以写入磁盘进行保存或

[转帖]Java IO篇:序列化与反序列化

1、什么是序列化: 两个服务之间要传输一个数据对象,就需要将对象转换成二进制流,通过网络传输到对方服务,再转换成对象,供服务方法调用。这个编码和解码的过程称之为序列化和反序列化。所以序列化就是把 Java 对象变成二进制形式,本质上就是一个byte[]数组。将对象序列化之后,就可以写入磁盘进行保存或

[转帖]JAVA 对象序列化

https://cloud.tencent.com/developer/news/276874 文章来源:企鹅号 - 燃照爱宠物 所谓的『JAVA对象序列化』就是指,将一个JAVA对象所描述的所有内容以文件IO的方式写入二进制文件的一个过程。关于序列化,主要涉及两个流,ObjectInputStre

[转帖]IO虚拟化——SR-IOV 原理

摘要: 介绍SR-IOV 的概念、使用场景、VMware 和 KVM 中的配置方法。 第一部分:虚拟化通信延迟: 第二部分:IO 虚拟化 第三部分:SR-IOV 第四部分:Intel网卡在VMware 环境 实现 SR-IOV 需要的条件和配置方法 第五部分:SR-IOV 在Red Hat Virt

[转帖]io 性能指标及其基准测试

https://www.jianshu.com/p/23a956e09b1c 磁盘io性能指标 主要有2个: IOPSIOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,I/O请