黑马程序员技术交流社区
标题:
字节流缓冲区的问题
[打印本页]
作者:
flying
时间:
2014-2-19 15:02
标题:
字节流缓冲区的问题
字节缓冲区.png
(94.75 KB, 下载次数: 219)
下载附件
2014-2-19 15:01 上传
假设缓冲区的大小为1024字节 那么读文件的时候 是一次读取1024字节数据到内存 还是一个字节一个字节的读
如果是一次性读到内存中 ,那么他调用了什么方法 ,如果是一个一个的读那么效率是不是和不用缓冲区的效率差不多呢
毕老师视频截图如下
作者:
___________゛M
时间:
2014-2-19 15:05
应该是一次读1024吧 。
作者:
asvsass
时间:
2014-2-19 15:14
底层都是调用读一个方法 因为读一个写一个效率很慢 所以先把读到的数据存到数组中 然后再写
作者:
flying
时间:
2014-2-19 15:16
如果一次读一个这样的效率不是和不用缓冲流一样吗
作者:
asvsass
时间:
2014-2-19 15:29
比如1000字节 文件 你如果从D盘复制到E盘 你读一个写一个 内存中读写流跳到写出流 就要跳1000次 很影响效率
用缓冲流存起来 就要读写1一次就好了
作者:
张东健
时间:
2014-2-19 15:54
通俗打个比方,你搬1000快砖,从操场东头搬到西头,一次搬一块,你想想要来回1000次吧,搞个卡车,一次装完就运输过去,你说效率呢
作者:
徐芾清
时间:
2014-2-19 19:09
应该是一次读1024byte,底层应该也是一个一个的读,毕竟硬盘读数据是要用磁头一个字节一个字节的扫描。跟一次读一个的区别应该是占用一次IO资源,访问一次硬盘可以读取1024byte。如果一个一个读需要利用IO资源1024次,频繁的占用IO资源效率很低。个人认为这样其实是利用内存空间换取计算时间,如果内存够大,一次多读取些,也就是用更大的空间,应该是能够换取更多的时间。不知道这样分析对不对。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2