美文网首页
CPU、缓存、内存和本地磁盘的关系

CPU、缓存、内存和本地磁盘的关系

作者: huapro | 来源:发表于2019-06-19 12:13 被阅读0次

    CPU、缓存、内存和本地磁盘的关系

    java软件开发
    所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。

    缓存主要可分为二大类:

    一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式;

    二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查.

    Java实现缓存(LRU,FIFO)

    java中常用的几种缓存类型介绍
    [JAVA面试——缓存]https://blog.csdn.net/zhengzhaoyang122/article/details/82184029
    所谓的缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。
    JDK动态代理[3]----WeakCache缓存的实现机制

    1、通过文件缓存;顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式;
    2、内存缓存;也就是创建一个静态内存区域,将数据存储进去,例如我们B/S架构的将数据存储在Application中或者存储在一个静态Map中。

    3、本地内存缓存;就是把数据缓存在本机的内存中。

    4、分布式缓存机制;可能存在跨进程,跨域访问缓存数据

    对于分布式的缓存,此时因为缓存的数据是放在缓存服务器中的,或者说,此时应用程序需要跨进程的去访问分布式缓存服务器。

    CPU

    CPU是中央处理器的简称,它可以从内存和缓存中读取指令,放入指令寄存器,并能够发出控制指令来完成一条指令的执行。但是CPU并不能直接从硬盘中读取程序或数据。
    

    内存

    内存作为与CPU直接进行沟通的部件,所有的程序都是在内存中运行的。其作用是暂时存放CPU的运算数据,以及与硬盘交换的数据。也是相当于CPU与硬盘沟通的桥梁。只要计算机在运行,CPU就会把需要运算的数据调到内存中进行运算,运算完成后CPU再将结果传出来。    
    

    缓存

    缓存是CPU的一部分,存在于CPU里。由于CPU的存取速度很快,而内存的速度很慢,为了不让CPU每次都在运行相对缓慢的内存中操作,缓存就作为一个中间者出现了。有些常用的数据或是地址,就直接存在缓存中,这样,下一次调用的时候就不需要再去内存中去找了。因此,CPU每次回先到自己的缓存中寻找想要的东西(一般80%的东西都可以找到),找不到的时候再去内存中获取。

    最初的缓存生产成本很高,价格昂贵,所以为了存储更多的数据,又不希望成本过高,就出现了二级缓存的概念,他们采用的并不是一级缓存的SRAM(静态RAM),而是采用了性能比SRAM稍差一些,但是比内存更快的DRAM(动态RAM)

    硬盘

      我们都知道内存是掉电之后数据就消失的部件,所以,长期的数据存储更多的还是依靠硬盘这种本地磁盘作为存储工具。
    

    简单的概括:

    • CPU运行时首先会去自身的缓存中寻找,如果没有再去内存中找。
    • 硬盘中的数据会先写入内存才能被CPU使用。
    • 缓存会记录一些常用的数据等信息,以免每次都要到内存中,节省了时间,提高了效率。
    • 内存+缓存 -> 内存储空间
    • 硬盘 -> 外存储空间

    </article>

    相关文章

      网友评论

          本文标题:CPU、缓存、内存和本地磁盘的关系

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