Java jarにより多くのヒープスペースを割り当てる
質問
コマンドラインからプログラムを実行する場合、 java -Xms -Xmx
を使用してヒープサイズを指定できます。 .jarファイルをダブルクリックしてプログラムを実行する場合、標準よりも多くのヒープを使用する方法はありますか?
解決
いいえ。そのため、これらのパラメーターを使用して.batまたは.shファイルを作成し、ユーザーに.jarの代わりにそれを実行するように指示することがよくあります。残念ながら、コマンドプロンプトウィンドウをポップアップ表示するのは少しlittleいですが、それは仕方がありません。
副次的な利点として、アプリケーションがフリーズした場合、ユーザーに pause
をバッチファイルに入れる(または自分で行う)ように指示すると、発生するスタックトレースを確認できます。
編集: JSmooth や<バッチファイルではなく、href = "http://launch4j.sourceforge.net/" rel = "noreferrer"> Launch4J 。ただし、クロスプラットフォームの互換性は失われます。
他のヒント
.jarファイルを直接ダブルクリックする代わりに、 java -jar -Xms -Xmx your_file.jar
を実行するバッチファイルを使用できます。ユーザーの観点からは同じですが、実際に実行されるコマンドをより詳細に制御できます。
必要なオプションを指定したRuntime.getRuntime()。exec()を使用して、jarを自動的に再起動できます。 jarには複数のmain()メソッドを(異なるクラスで)含めることができ、exec()を介して一方を呼び出すことができます。
JSmooth または同様のラッパーを使用して、JVMを起動するEXEファイルを作成できます。必要なパラメーター。そうすれば、.batファイルとそのコンソールダイアログを避けることができます。さらにもう1つの方法は、Runtime.execまたはProcessBuilderを使用して、新しいプロセスで実際のプログラムを開始することです。