JDK源码解析

IO流中的包装类使用到了装饰者模式。

BufferedInputStream,

BufferedOutputStream,

BufferedReader,

BufferedWriter



我们以BufferedWriter举例来说明,先看看如何使用BufferedWriter

使用起来感觉确实像是装饰者模式,接下来看它们的结构:

小结:

BufferedWriter   使用装饰者模式对  Writer子实现类进行了增强,添加了缓冲区,提高了写数据的效率。

JDK源码解析 —— IO流中的包装类使用到了装饰者模式相关推荐

  1. JDK源码解析 迭代器模式在JAVA的很多集合类中被广泛应用,接下来看看JAVA源码中是如何使用迭代器模式的。

    JDK源码解析 迭代器模式在JAVA的很多集合类中被广泛应用,接下来看看JAVA源码中是如何使用迭代器模式的. 看完这段代码是不是很熟悉,与我们上面代码基本类似.单列集合都使用到了迭代器,我们以Arr ...

  2. JDK源码解析 Comparator 中的策略模式

    JDK源码解析 Comparator 中的策略模式.在Arrays类中有一个 sort() 方法,如下: public class Arrays{public static <T> voi ...

  3. JDK源码解析 InputStream类就使用了模板方法模式

    JDK源码解析 InputStream类就使用了模板方法模式. 在InputStream类中定义了多个 read() 方法,如下: public abstract class InputStream ...

  4. JDK源码解析 Integer类使用了享元模式

    JDK源码解析 Integer类使用了享元模式. 我们先看下面的例子: public class Demo {public static void main(String[] args) {Integ ...

  5. JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法

    JDK源码解析 Runnable是一个典型命令模式, Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法 /命令接口(抽象命令角色) public interfa ...

  6. JDK源码解析之Java.util.Collection

    Collection是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素,JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现 一.源码解析 1 ...

  7. JDK源码解析之集合篇2--Collection

    为什么80%的码农都做不了架构师?>>>    源码解析仅个人记录,若有不正确,请留言修改 package java.util;import java.util.function.P ...

  8. JDK源码解析之Java.util.Collections

    java.util.Collections 是一个包装类.它包含有各种有关集合操作的静态多态方法.此类不能实例化,就像一个工具类,服务于Java的Collection框架. 一.源码解析 1.不可实例 ...

  9. JDK源码解析--Object类

    作为一名java开发,肯定会知道object类,object类是所有类的基类,当一个类没有直接继承任何类时,默认继承object类,所以也被称之为"上帝类". 目录 一.继承Obj ...

最新文章

  1. 如何解决头文件重复包含和宏的重复定义问题:用#ifndef 、#define、#endif
  2. Squid概述及相关配置说明
  3. c语言建立队列(顺序队列、循化队列和链式队列)
  4. Bootloader加载过程分析
  5. 数据加解密和数据签名验签
  6. SAP UI5应用里的列表处理
  7. Scrapy安装介绍
  8. decode()、nvl()等用法详解
  9. BZOJ3230 相似子串 【后缀数组】
  10. 其实,API 编程并不难!
  11. linux下文件下载中文,LINUX环境下资源下载中文目录及中文文件名称问题
  12. Adobe向美国反垄断部门投诉苹果封杀Flash
  13. 利用 /dev/zero 创建虚拟硬盘
  14. 4款时尚优雅宋体Logo字体(可免费商用)
  15. 编程中的幂等性(一):http幂等性
  16. 记事本下编写并运行Java代码
  17. Redis 会被Dragonfly替代?
  18. 公司建站域名需要多少钱?
  19. [计算机网络】【网络设备】虚拟局域网
  20. 英特尔向第11代vPro芯片添加了启用硬件的勒索软件检测

热门文章

  1. js regex var highlight
  2. 「BZOJ 2152」聪聪可可
  3. 微信公众号点击菜单即可打开并登录微站的实现方法
  4. Python网络数据采集2-wikipedia
  5. Java核心技术点之集合框架
  6. Web前端,高性能优化
  7. sql多变量 双引号设置
  8. SQL Server-创建表格、各种约束条件
  9. 利用矩阵快速幂求斐波那契数列
  10. Git的学习与使用(五)——Git 创建仓库