2012-03-28 7 views
0

JVMを固定メモリ制限でバインドしたいとします。どのようにこれを行うに手伝ってくれる?JVMを固定メモリ制限でバインドするにはどうすればよいですか?

具体的には、自分のコードで最大1024 MBのメモリ空間を使用できるようにしたいと思います。私のJVMは、最初に大量のメモリをブロックする必要があります。

私は4GBのメモリを持っていますが、私のJVMはわずか878MBのメモリしか持っていません。どうして ?

私が使用してそれを得た:Runtime runtime = Runtime.getRuntime()runtime.totalMemory()/(1024*1024)

をCは、この種の問題を持っていないのはなぜ?

答えて

1

Javaは、それが必要とするより多くのメモリを使用することはありません、次のオプションでのJava 'を実行することができますプログラムでは、最大値を設定しても1 GBは使用されません。

Cでは、メモリは使用されるか解放されます。メモリのための他の状態はありません。 Javaでは、文字列参照、弱い参照、弱い参照、および参照のないメモリがあります。メモリーをクリーンアップするかどうか、およびソフト/弱参照がクリーンアップされるかどうかを判断する最大メモリー。

Cメモリの問題は、メモリが使用されなくなったことを知る必要があるため、メモリリークや開発者にさらされる複雑さが増します。 Javaには管理されたメモリがあるため、これらの問題はありません。

Cプログラムでは、メモリ+スワップが足りなくなるまで問題が発生します。よく振る舞うプログラムの場合、これは問題ではありませんが、開発者が心配する必要があるもう一つのことは、プログラムが実行される可能性のあるマシンのメモリ量を知らないためです。

0

あなたは

-Xms最小メモリサイズ -xxs最大メモリサイズあなたはハロー世界を持っている場合

+3

-Xmxは、ヒープメモリを最大化するために使用されます。 –

関連する問題