A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 霍振鹏 中级黑马   /  2014-4-20 10:07  /  1612 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

我怎么感觉BufferedOutputSteam 相对于其父类来说在功能上没有一丁点的扩展啊! 如果是这样的话,设计它的用意是什么啊!?

4 个回复

倒序浏览
这是用到的装饰类的设计模式, 目的是增强已有对象, 功能相同却更加强大, 设计BufferedOutputSteam的用意就是写数据的时候加入了缓冲区, 可以加快写数据的速度.
回复 使用道具 举报
BufferedOutputSteam
这个类比他的父类最大的特点就是增加了缓冲区。
作用就是先把底层数据批量扔到缓冲区中,然后再从缓冲区中提取数据输出。
举个例子,你要浇花,一次一次的去井里用花洒打水。
现在给你提供了一个桶,你可以利用桶打一大桶水,然后往花洒里灌,就减少了你去打水的次数,增加了效率。
这里的桶就相当于缓冲区。
当然如果你浇花的面积不大,花洒一壶就够,看不出太大区别。但是当你要浇花的数量增加的话,这个效率差异就会显现出来了。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报


不加Buffered和加Buffered的区别

评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
linweiwen + 10 图很好,赞一个。
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
装饰设计模式,BufferedOutputStream实际上在里面内置啦一个数组,将读取到的数据先存储在数组中,当数组装满时,在将数据写出
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马