/**
* 操作系统局部性原理
*/
public class PartialPrinciple {
public static void main(String[] args) {
int[][] array = new int[10000][10000];
// 准备数据
for (int i = 0; i < 10000; i++) {
for (int j = 0; j <10000 ; j++) {
array[i][j]=i*j;
}
}
// 顺序访问
long begein = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 10000; j++) {
int i1 = array[i][j];
}
}
long diff = System.currentTimeMillis()-begein;
System.out.println("顺序访问:"+diff);
// 跨行访问
begein = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 10000; j++) {
int i1 = array[j][i];
}
}
diff = System.currentTimeMillis()-begein;
System.out.println("跨行访问:"+diff);
}
}
对比下运行结果
顺序访问:4
跨行访问:769
Process finished with exit code 0