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>
网友评论