参照の場所。http://en.wikipedia.org/wiki/Locality_of_reference。したがって、小さな int 配列を反復するのと同じように、linkedList を反復するよりも高速になります。配列が連続しているため、すべての配列が CPU キャッシュに収まり、キャッシュ ミスが少なくなります。
しかし、単純な int 配列と volatile 配列の比較が必要です。私の知る限り、揮発性配列を反復すると、毎回揮発性読み取りが発生し、一部のシステムでは読み取りごとにキャッシュが更新される可能性があります。
int[] arr; // assume here i have declared and initialized it.
int sum = 0;
for(int i=0;i<arr.length;i++){
sum = sum + arr[i];
}
揮発性カウンターパート
volatile int[] arr; // assume here i have declared and initialized it.
int sum = 0;
for(int i=0;i<arr.length;i++){
sum = sum + arr[i]; // volatile read everytime
}
したがって、それらは同じであるか、コンパイラーはすべての揮発性読み取りを単一の揮発性読み取りにします(コンパイラーの最適化)