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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐芾清 中级黑马   /  2014-3-8 19:17  /  735 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关于BufferedInputStream(InputStream in, int size)这个构造器
如果我用这个构造器new一个BufferedInputStream对象,但定义的size多小会怎么样?
BufferedInputStream(InputStream in)定义的默认size又是多少?

评分

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

查看全部评分

2 个回复

倒序浏览
本帖最后由 桃华月禅 于 2014-3-8 21:14 编辑

大学狗一只,正在自学黑马的各种教程,偶然看见LZ的帖子就回答一下(也是通过在网上搜索才知道答案的,自己差的还很远啊)BufferedInputStream类中有默认存储缓冲数据的数组,这个size变量就是数组的长度。缓冲区的出现是为了增加读取和写入效率的。缓冲区大小太小的话就完全失去的它加快效率的意义;缓冲区太大不但不会增加效率而且可能出现内存溢出这种问题。所以缓冲区大小适中就好。

看源码中BufferedInputStream中有一个私有的静态成员变:
private static int defaultBufferSize = 8192;
构造函数是这样写的
  1. public BufferedInputStream(InputStream in) {              
  2.          this(in, defaultBufferSize);  
  3. }
复制代码
应该不用我说什么了吧?
参照一下网页得知的答案:http://www.cnblogs.com/killbug/archive/2012/08/22/2651524.html



评分

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

查看全部评分

回复 使用道具 举报
我想问LZ一个问题!
LZ是即将进入黑马的下一批学员吗?我现在大三,问了一下在校大学生参加黑马的话必须先支付学费,可是我家庭原因打消了这个念头,打算大四在去。
如果LZ是下一批黑马学员的话,有很多想咨询一下!我的QQ:1024587616
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马