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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雪中鱼01 中级黑马   /  2016-10-19 22:23  /  654 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

物理上有什么区别?不是很理解,感觉都是缓存的意思
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

6 个回复

倒序浏览
回复 使用道具 举报
gyy 中级黑马 2016-10-20 00:39:51
藤椅
不都是表示的一个意思么?都是缓存,不过大家在JavaWeb中貌似说Cache多一些,buffer大家在说的时候一般都是讨论他的实现吧,一个buffer数组
回复 使用道具 举报
gyy 发表于 2016-10-20 00:39
不都是表示的一个意思么?都是缓存,不过大家在JavaWeb中貌似说Cache多一些,buffer大家在说的时候一般都是 ...

这两个不是一个人意思,但是有什么准确的区别我不明白
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而  Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。

    Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取CPU控制权并访问此文件直接从Cache读取,提高系统性能。
Buffer:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据,在此期间存储快的设备CPU可以干其他的事情。

Buffer:一般是用在写入磁盘的,例如:某个进程要求多个字段被读入,当所有要求的字段被读入之前已经读入的字段会先放到buffer中。
回复 使用道具 举报
相约在北广上 发表于 2016-10-20 15:51
Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于 ...

有图吗?这两个词所指的东西有什么不同
回复 使用道具 举报
雪中鱼01 发表于 2016-10-20 20:06
有图吗?这两个词所指的东西有什么不同

简单说就是buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马