zoukankan      html  css  js  c++  java
  • 缓存机制与局部性原理

    http://www.cnblogs.com/jqctop1/p/4714116.html

    1. 局部性原理

      局部性原理是指计算机在执行某个程序时,倾向于使用最近使用的数据。局部性原理有两种表现形式:时间局部性和空间局部性。

      时间局部性是指被引用过的存储器位置很可能会被再次引用,例如:重复的引用一个变量时则表现出较好的时间局部性

      空间局部性是指被引用过的存储器位置附近的数据很可能将被引用;例如:遍历二维数组时按行序访问数据元素具有较好的空间局部性

    2. 缓存与缓冲

      缓冲通常在接收者和发送者速度差异较大的场合使用,例如:网络缓冲区;

      缓存通常用于补偿不同存储器之间的读写速度差异,例如:Cache;

      缓存和缓冲一个重要的区别是:对于缓冲来说,接收者接下来想要使用的数据就在缓冲区中;而缓存的有效性是依赖于局部性的,即对于缓存来说,快速存储器接下来想要使用的数据不一定就在缓冲存储器中。

    3. 缓存层次结构

      

      如图所示,最上层的是寄存器,最下层的是远程文件系统,从下到上,存储器的速度更快,造价更贵因而容量更小。

      上一层的存储器保存着下一层存储器中部分数据的拷贝,上一层即作为下一层的缓存;

      当需要第k+1层的某个数据时,先在第k层中寻找,若找到,则称为缓存命中,若没找到,则称为缓存不命中;

      当缓存不命中时,需要从第k+1层拷贝需要的数据到第k层,这样就可能会需要替换第k层中已经缓存的某些数据,需要替换时通常会有个替换策略来指导替换哪些数据;

  • 相关阅读:
    XSS跨站脚本攻击在Java开发中防范的方法
    Nginx 安装成 Windows 服务
    Nginx配置文件详细说明
    Hadoop是什么
    ORACLE解决登陆em状态暂挂方法
    五月最新图标资源合集!1000+线性图标免费下载(已打包)
    Messages.pas里的消息
    解决DataSnap支持的Tcp长连接数受限的两种方法
    Delphi 两个应用程序(进程)之间的通信
    解决DataSnap支持的Tcp长连接数受限的两种方法
  • 原文地址:https://www.cnblogs.com/feng9exe/p/6882423.html
Copyright © 2011-2022 走看看