美文网首页JavaSEAndroid知识
内存和缓存的区别

内存和缓存的区别

作者: markRao | 来源:发表于2017-03-01 15:51 被阅读2241次

今天看书的时候又看到了内存和缓存,之所以说又,是因为之前遇到过查过资料,但是现在又忘了(图侵删)。

所以又复习一遍,记录一下,有所纰漏的地方,欢迎指正。

同志们,上图并不是内存和缓存中的任何一个,那有的小伙伴会问了,啥也不是,你怎么强行发图,别急,慢慢道来。

上图是中央处理器即CPU的图片,一般来说缓存都是集成到CPU里面的。

众人:“这就是你找不到缓存的图片理由”?

如果按存取数据的速度相比,缓存是比内存快非常多的,我们电脑的操作系统会为应用程序分配好内存,但是由于内存的存取效率比较低下(相对于CPU的处理速度而言),缓存就是为了解决高速CPU对慢速内存的存取。

还有一个概念,就是一级缓存和二级缓存。

在这之前,先说一下RAM(暂时的、动态的存储数据,具体点就是我们通常说的内存条)和ROM(永久的、固定的存储数据,通俗讲就是我们说的光盘、dvd、手机内存卡等)。

RAM是掉电的,掉电的意思就是设备关机后RAM内存储的数据全部清空,ROM内的数据依然存在。

RAM有两种,静态和动态,静态RAM比动态RAM快。

静态RAM集成度比较低,存储相同的数据,静态RAM比动态RAM所花费的体积大约为六倍。

同样的容量,静态RAM的价格是动态RAM的四倍。

我们要知道一个道理,缓存作为静态RAM都是比较昂贵的,所以不要幻想什么加大缓存什么的。

但是我们有一个折中的办法,就是加大高速动态RAM作为缓存,比常规动态RAM要快,当然速度和静态RAM还是有一定的差距(没办法,都是钱闹的/(ㄒoㄒ)/~~)。

RAM中存储的都是设备使用频率比较高的数据和指令,它们都是从内存中复制而来的,这是由一套算法所维护的,与此同时,RAM内存储的东西并不是固定的,会跟着时间和使用习惯的改变而改变,一句话,内部保持的数据都是由算法所决定的。CPU在工作时,先去找静态RAM(一级缓存),然后再去找后加的高速动态RAM(二级缓存),最后内存。

最后再发一张内存条的图

相关文章

  • iOS内存缓存和磁盘缓存的区别

    最近在看缓存相关的框架,刚好顺便总结一下内存缓存和磁盘缓存的区别。 缓存分为内存缓存和磁盘缓存两种,其中内存是指当...

  • iOS内存缓存和磁盘缓存的区别

    每次启动 app 文件保存的前缀 路径 都会改变 。所以再存取路径的 时候,就要 替换 原来的前缀路径 ,拼接出来...

  • YYCache 源码学习总结

    YYCache 内存分为内存缓存和磁盘缓存 内存缓存 1.内存缓存实现通过CFMutableDictionaryR...

  • glide缓存之ActiveResources

    glide 缓存分为内存缓存和硬盘缓存,内存缓存是用Lru算法缓存和弱引用缓存(ActiveResources),...

  • 内存缓存那些事

    内存缓存 缓存分为2类,内存缓存和磁盘缓存,今天说的是内存缓存。 内存缓存实现很多种方式,最简单的是就是用NSMu...

  • Glide缓存汇总

    Glide缓存汇总 1、Glide有内存缓存和磁盘缓存 2、缓存策略 3、内存缓存 4、磁盘缓存 5、缓存位置和大...

  • 03 | 缓存可以用来解决哪些问题

    缓存 最通用的解释就是可以进行高速数据交换的存储器; 缓存与内存的区别 缓存内存掉电是否丢数据丢丢物理结构是否相同...

  • 缓存和内存的区别?(ROM?RAM?)

    缓存是 CPU 内部的,而内存是位于 CPU 外的。 CPU 存取数据的速度非常的快,一秒能够存取...

  • glide缓存

    分为内存缓存以及硬盘缓存,内存缓存又分为lruresourchcache和弱引用缓存。缓存的key,参数很多,通过...

  • Android 两种缓存方式介绍

    Android缓存分为内存缓存和磁盘缓存。 内存缓存(LruCache) 在早期的 Android 2.x 时代,...

网友评论

    本文标题:内存和缓存的区别

    本文链接:https://www.haomeiwen.com/subject/ruaqgttx.html