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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1002865186 中级黑马   /  2012-3-25 20:41  /  2195 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求教Java中IO缓冲区的原理是什么?是不是可以通过byte[] 数组来声明缓冲区的大小?

4 个回复

倒序浏览
IO缓冲区的原理:就是先将数据写入内存,然后再写入目标源(比如光驱),有点像数据库的指操作。如果你使用了缓冲提高效率,就不需要特意在用byte[]数组来声明。
回复 使用道具 举报
缓冲区就是内存里的一块区域,把数据先存内存里,然后一次性写入,类似数据库的批量操作,这样效率比较高。
可以通过byte[] 数组来声明缓冲区的大小,在字节流读写中我们经常可以看到
byte[] buf = new byte[1024];
就是声明缓冲区大小为1k.
回复 使用道具 举报
缓冲区的出现提高了对数据的读写效率。
对应类
BufferedWriter
BufferedReader
缓冲区要结合流才可以使用。
在流的基础上对流的功能进行了增强。
看毕老师的视频,它与流的一个区别是如果让缓冲区一次存大于本机内存的数据,会发生内存溢出,通过流来处理的话,用byte[]数组,则不会发生。
我认为这是流于流的缓冲区的一大区别。也是使用时,开发时,应注意的地方。
回复 使用道具 举报
把东西都放到缓冲区,满了一次性拿出
要处理的数据进行临时存储,提高效率的原理:减少频繁的操作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马