6

このテストを -Xmx256M で実行して、ヒープ上に作成できる最大オブジェクト サイズを決定しました

    for (int m = 128;; m++) {
        try {
            byte[] a = new byte[m * 1024 * 1024];
        } catch (OutOfMemoryError e) {
            System.out.println(m + "M");
            break;
        }
    }

171Mを獲得しました。このサイズを計算する方法はありますか?

4

3 に答える 3

3

このサイズを計算する方法はありますか?

いいえ。割り当て可能なオブジェクトの最大サイズは、ヒープで使用できる連続した空き領域の量によって異なります。私の知る限り、それが何であるかを見つける実用的な方法はありません...あなたが現在行っていることを別として。

于 2013-04-27T03:59:14.413 に答える