왜 두 번째 코드가 더 빠릅니까?자바에서 오토 박싱 대 수동 복싱
Map<Integer, Double> map = new HashMap<Integer, Double>();
for (int i = 0; i < 50000; i++) {
for (double j = 0.0; j < 10000; j++) {
map.put(i, j);
}
}
Map<Integer, Double> map=new HashMap<Integer, Double>();
for (int i = 0; i < 50000; i++) {
for (double j = 0.0; j < 10000; j++) {
map.put(new Integer(i), new Double(j));
}
}
두 부분을 모두 감싸고 다시 마이크로 벤치 마크하십시오. – BalusC
올바르지 않은 인위적인 마이크로 벤치 마크가 아니기 때문에 이것은 실제 세계에서 최적화되지만 JIT는 결국 최적화 될 것이므로 중요하지 않습니다. –