IO流

你知道BIO,NIO,AIO么?讲一下你的理解

BIO (Blocking I/O):同步阻塞I/O 模式,是java传统io模型,一个线程触发io操作后必须等待这个io操作执行完成,期间不能去做其它工作;

NIO (New I/O):同步非阻塞io,一个线程触发io操作后它可以立即返回,但是它需要不断的轮询去获取执行结果;

AIO ( Asynchronous I/O):异步非阻塞I/O 模型,一个线程触发io操作后它可以立即返回去做其它工作,内核系统将io操作执行完成后会通知该线程;

java 中四大基础流

InputStream : 字节输入流,

OutputStream: 字节输出流

Reader: 字符输入流

Writer: 字符输出流

读文本用什么流,读图片用什么流

文本用字符输入流Reader,读图片用字节输入流InputStream

字符流和字节流有什么区别

1.字符流使用于读取文本,字节流使用于读图片、视频、文件等。

2.字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。

3.字节流默认不使用缓冲区;字符流使用缓冲区

4.字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;字符流通常处理文本数据,它支持写入及读取Unicode码元。

BufferedInputStream 用到什么设计模式

主要运用了俩个设计模式,适配器和装饰者模式

带缓冲区的流有哪些?

BufferedInputStream:字节输入缓冲流

BufferedOutputStream:字节输出缓冲流

BufferedReader : 字符输入缓冲流

BufferedWriter : 字符输出缓冲流