下のプログラムでは実行時間に2倍以上の開きがあります。
変数を初期化するかどうかの違いですが、実行時間が
こうも開くのはどうしてでしょうか?
public static void main(String[] args) {
final int SIZE = 1 << 15;
final int LOOP = 1000;
long start, end;
List<Integer> list = new ArrayList<Integer>(SIZE);

for (int i = 0; i < SIZE; i++) {
list.add(Integer.valueOf(i));
}

start = System.currentTimeMillis();
Integer[] integer1;//nullで初期化しない
for (int j = 0; j < LOOP; j++) {
integer1 = list.toArray(new Integer[list.size()]);
}
end = System.currentTimeMillis();
System.out.println(end - start);

start = System.currentTimeMillis();
Integer[] integer2 = null;//nullで初期化する
for (int j = 0; j < LOOP; j++) {
integer2 = list.toArray(new Integer[list.size()]);
}
end = System.currentTimeMillis();
System.out.println(end - start);
}