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 : 字符输出缓冲流