时间局部性就是,最近被访问的存储单元,在之后很有可能会被再次访问到;
空间局部性就是,对于正在被访问的存储单元附近的位置,在之后很有可能会被访问到。
这个很容易理解,以一段常见的代码为例:
for(i = 0; i <= 100; i++) {
sum += array[i];
}
其中i、sum 这些元素现在正被访问,在之后也一定会被重复访问,这就是时间局部性;
而array这个数组,现在访问了array[0]的位置,那之后紧接着就会访问它附近的位置,比如array[1]、array[2]等等,这就是空间局部性。
根据局部性原理,可以做一些相关设计。比如cache就是利用局部性原理设计出来的。