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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋美成 中级黑马   /  2014-4-23 11:44  /  1040 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 宋美成 于 2014-4-23 23:57 编辑

缓冲的存在便于了数据高效的读取和写入,老师用一滴一滴的喝水与现将水攒到杯子里在一口喝下这个比喻,来说明缓冲存在的意义。我的问题在于,宏观上我们看虽然如此,但是究其本质,微观上,无论是哪种方式,无论时候有缓冲,都是对数据一个一个挨个的进行读写,从这个本质上看,我就没有明白缓冲的存在是如何提高效率的呢?求大师解答

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
我给你打个比喻吧,比如你们班一个班的同学要去旅游,旅游要门票吧,如果你们验票时一个一个人进去,每个人都要验票,与你们这个班先把票全部买好了,然后集体送过去
这样验票速度是不是快点呢,效率是不是高点呢。高速缓冲区的意义就在这里,避免了一个一个读取数据的麻烦。而是先把数据存起来,然后读取数据的时候就是一行一行的进行读取了
也就是readLine方法,这样效率会提高很多
回复 使用道具 举报
举个例子吧:例如你先用不带缓冲区的流往硬盘里存数据的话,计算机每个字节都或往硬盘里存一次,而每存一次cpu、内存、硬盘就要交换一次数据。
而如果你使用的是带缓冲区的流存数据的话,数据就会先存入内存中,一定量后再整体存入硬盘,这样就大大减少了内存和cpu访问硬盘的次数,从而提高了效率。
回复 使用道具 举报
例如你用不带缓冲区的流往硬盘里存数据的话,计算机每个字节都或往硬盘里存一次,而每存一次cpu、内存、硬盘就要交换一次数据。
而如果你使用的是带缓冲区的流存数据的话,数据就会先存入内存中,一定量后再整体存入硬盘,这样就大大减少了内存和cpu访问硬盘的次数,从而提高了效率。

回复 使用道具 举报
这个很好理解!举例说明问题..
你去超市购物,买了很多东西,比如说有10件物品.要把这些物品拿回家..
如果你不用缓冲区原理,就是一次拿一件回去,然后再回来拿第二件
这样你要来回跑10次,效率很低吧
如果你使用了缓冲技术,就是找一个容器先装一部分,比如说先装5件,回去一件一件的卸下来
然后再回来装5件,拿回去.一件一件的卸下来.这样你2次就搞定了.你要是能一次吧10件都装了.那一次就搞定了
效率很显然的高!

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马