Java。初期引数をオーバーライドするにはどうすればよいですか?

Java。初期引数をオーバーライドするにはどうすればよいですか?

Java アプリケーションで困っています。起動時に -Xmx 256m と Xss 2m を使用します。RAM が不足するとクラッシュし続けるため、より多くの RAM を使用するようにする必要があります。そのため、java -jar application.jar -Xmx 4G を使用します。

何も起こらず、組み込みの-Xmx 256mが引き続き使用されます。

このアプリケーションにさらに多くの RAM を割り当てるには、初期設定を上書きするにはどうすればよいですか?

答え1

まず、大文字Xの as-Xmx-Xss;を使用すると-xエラーになります。

次に、-X-Dなどを含むすべての JVM オプションを、-jar jarname使用する場合はその前に置き、使用しない場合はメインクラス名の前に置きます。run-jar または main-class の後の引数は、JVM によって解釈されるのではなく、Java プログラムに渡されます。

PS: 4G が必要な場合は、64 ビット Java (およびハードウェア) をお持ちであると想定/期待しています。

関連情報