6

Eclipseを使用してJavaプログラムクラスを実行していますが、実行中にこのエラーが発生しました

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

次に、[プロパティ]>[実行]>[VMオプション]からVMを変更し、プログラムを再度実行すると、新しいエラーが発生しました。

Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified

私は自分のプログラムにスタンフォードライブラリを適用しようとしています。このエラーを解決する方法はありません。

4

3 に答える 3

7

Eclipse用のVMを変更するには、[Windows]>[設定]>[Java]> [インストールされたJRE]からMVの量を変更し、そこからJREを選択して[編集]をクリックし、[デフォルトのVM引数]を-Xmx1024Mまたはその他のメモリ量に書き込みます。 ..

于 2012-02-28T09:04:36.997 に答える
2

VM の初期化中にエラーが発生しました。互換性のない初期ヒープ サイズと最大ヒープ サイズが指定されました

これはおそらく、-Xms オプションと -Xmx オプションの両方を指定し、-Xms (初期ヒープ サイズ) の値が -Xmx (最大ヒープ サイズ) の値よりも大きいことを意味します。


netbeans は、[プロパティ] > [実行] > [VM オプション] からのみ -Xms を変更することを提供します

私は NetBeans ユーザーではありません。しかし、Using NetBeans 5.0マニュアルを簡単に検索すると、これは正しくないことがわかります。

JVM 引数の設定

[プロジェクト プロパティ] ダイアログ ボックスで、プロジェクトの JVM 引数を指定できます。[プロジェクト プロパティ] ダイアログ ボックスを開き、[カテゴリ] ペインで [実行] をクリックしてから、[VM オプション] フィールドにスペースで区切られた JVM 引数のリストを入力します。

つまり、JVM がサポートする任意のJVM オプションを設定できます。


これが私が変更した文字列です -Xms512m

(ついに彼は私たちに教えてくれます!!)

-Xmx512m も追加します。

記録として、一般的な JVM オプション (-Xmx や -Xms など) は、javaコマンドのマニュアル ページに明確に記載されています。注意してお読みください。

于 2012-02-27T04:35:38.090 に答える
0

VM ヒープ サイズを拡大するには、-Xmx オプションを使用します。これにより、エラーが解決される場合があります。しかし、それはあなたのコーディングの問題のようです。新しいオブジェクトを作成するためにコードがデッド ループに入っているか、コード内で非常に大きなオブジェクトが作成されている可能性があるため、最初にコードを確認することをお勧めします。

于 2012-02-27T04:51:04.513 に答える