ご存じのとおり、このjava -Xmx
オプションは、Java プログラムが使用できる最大ヒープ領域を設定するために使用されます。しかし、Java プログラムが設定された値を読み取る方法はありますか? System.getMaximumHeapSpace()
(存在しない)のようなもの。
質問する
11822 次
1 に答える
27
Java 仮想マシンが使用しようとするメモリの最大量を返すとドキュメントに記載されている がありRuntime.maxMemory
ますが、JVM の起動時に設定された最大ヒープ メモリであるかどうかは特定されていません。
テストとして、次のプログラムを作成しました。
class MaxMemory {
public static void main(String[] args) {
System.out.println(Runtime.getRuntime().maxMemory());
}
}
実行結果は次のとおりでした。
C:\coobird\>java -Xmx64m MaxMemory
66650112
C:\coobird\>java -Xmx128m MaxMemory
133234688
これは、Windows で Java SE 6 バージョン 1.6.0_12 を使用しています。
値は 64 MB (67,108,864 バイト) と 128 MB (134,217,728 バイト) に近いですが、正確にはそうではありません。
于 2009-06-14T15:13:10.303 に答える