Frage

Wenn Sie ein Programm über die Befehlszeile ausführen, können Sie verwenden java -Xms -Xmx die Heap-Größen angeben. Wenn das Programm durch einen Doppelklick auf eine .jar-Datei ausgeführt werden wird, ist es eine Möglichkeit, mehr Heap als der Standard zu verwenden?

War es hilfreich?

Lösung

Nein. Deshalb habe ich oft eine .bat oder .sh-Datei mit diesen Parametern und direkte Nutzer machen es statt der .jar zu laufen. Leider ist es ein wenig hässlich ein Kommandozeilenfenster zu haben, um Pop-up, aber das kann nicht geholfen werden.

Als Nebeneffekt, wenn Ihre Anwendung friert, können Sie Benutzer direkt pause in die Batch-Datei zu setzen (oder do it yourself), und dann können Sie jede Stack-Trace sehen, die auftreten.

Bearbeiten Sie auch eine ausführbare Wrapper wie JSmooth nutzen könnten oder < a href = "http://launch4j.sourceforge.net/" rel = "noreferrer"> launch4j anstelle einer Batch-Datei. Sie würden eine plattformübergreifende Kompatibilität verlieren, aber.

Andere Tipps

Statt einen Doppelklick auf direkt die .jar-Datei, können Sie eine Batch-Datei verwenden, die java -jar -Xms -Xmx your_file.jar läuft. Aus der Sicht des Benutzers ist es die gleiche, aber es gibt Ihnen mehr Kontrolle über den Befehl, die tatsächlich ausgeführt wird.

Sie können das Glas selbst wieder von vorn anfangen mit Runtime.getRuntime (). Exec () mit den gewünschten Optionen aus. Das Glas kann mehr als eine Methode main () enthält (in verschiedenen Klassen) und Sie können einen Anruf des anderen über eine exec () haben.

Sie können mit JSmooth oder einer ähnlichen Wrapper, die eine EXE-Datei erstellt, die die JVM mit der startet notwendigen Parameter. Auf diese Weise können Sie vermeiden, eine BAT-Datei und seine Konsole Dialog mit. Noch eine weitere Möglichkeit ist die Verwendung von Runtime.exec oder Process das eigentliche Programm in neuen Prozess zu starten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top