1

次のループのタイミングを計っていました:

public static void main(String[] args) {
    long time = System.currentTimeMillis();
    List<Hashtable> objects = new ArrayList<Hashtable>(10000000);
    for (int i = 10000000; i > 0; i--) {
        objects.add(new Hashtable());
    }
    System.out.println(System.currentTimeMillis() - time);

}

JDK 1.6.0_33 では、毎回約 2500 ミリ秒かかります。JDK 1.7.0_25 への切り替えには5600 msかかります。

リストに追加せずに new Hashtable() を実行するだけでも同じです: Java 1.6: 60 ms, Java 1.7: 460 ms .

これは奇妙に見えますが、Java7 で何かが劣化したのでしょうか、Hashtable の内部がより複雑になったのでしょうか、それとも単に何かが足りないのでしょうか?

4

0 に答える 0