0

メモリの少ない環境で動くJavaを書いています。私のマシンには大量のメモリがあるため、ヒープ サイズを制限する必要があります (適用できる制限はこれだけですか?)。Eclipse で VM パラメーターとして「-Xmx100m」を使用していますが、アプリケーションを実行すると、タスク マネージャーで使用メモリが 100MB をはるかに超えていることがわかります。これを間違って使用していますか?

また、ほとんどのメモリはローカル変数に割り当てられています。これらは、ヒープ空間に存在するスレッドのスタックに置かれますよね? 興味深いことに、私のプログラムが完全に静的メソッドで構成されている場合、これらのローカル変数はどこに割り当てられるのでしょうか?

ありがとう!

編集:質問をもっと簡単にする必要があると思います:jvmだけのリソースが少ない環境をどのように視覚化できますか?

4

1 に答える 1

0

スタックは常に存在し、静的メソッドであるかどうかに関係なく、変数を割り当てることができます。

また、jre が -Xmx 設定で指定されたよりも多くのメモリを実際に使用していることも何度か確認しました。これについては、この質問で詳しく説明します。

于 2013-02-01T22:30:29.883 に答える