标签:好处 软件 处理 模式 操作系统 继承 多个 需要 output
概要
抽象构件
:第二行,InputStream接口,定义字节流的基本操作抽象装饰者
:第三行,与抽象构建接口
是组合关系,动态的传入具体构件。第四行通过扩展抽象构件子类,为具体构件添加新的功能具体构件
:第一行,实现抽象构件
操作,具体装饰者
为每一个具体的构件添加新的职责具体装饰者
:第四行,有新职责的具体构建InputStream
时,是以一个字节一个字节形式读或写,而BufferedInputStream
与BufferedOutputStream
为字节流提供了缓冲区,读数据时一次性读取一块数据放到缓冲区中,当缓存区读取完后,输入流会再次填充缓冲区,直到输入流被读取完,缓冲区可以减少IO操作。DataInputStream
,从字节流中灵活的读取并重建Java的基本类型与String类型数据Reader
与Writer
,新的需求是字节流访问数据源,然后由字符流处理一个字节为单位读取,读到末尾返回-1
、它的重载方法read(byte[])内部是通过for循环调用read()
实现一次读入一个字节数组
,按字节的read()方法的会有频繁IO操作,普通IO模型也会阻塞线程,直到返回一个字节数据或-1,效率太低适配器模式中字符流与字节流
字符流
Reader
Writer
-PS
:个人笔记,望读者勘误。本文只例举了字节输入流与字符输入流两种,若读者理解了可以结合源码看输出流中设计模式
标签:好处 软件 处理 模式 操作系统 继承 多个 需要 output
原文地址:https://www.cnblogs.com/luckyCoder/p/12732217.html