Ich starte eine Java JAR-Datei, die oft mehr als die standardmäßige 64MB Max-Heap-Größe erfordert. Eine Heapgröße von 256 MB ist für diese App jedoch ausreichend. Gibt es trotzdem (vielleicht im Manifest) anzugeben, dass beim Start des JARs immer eine maximale Heapgröße von 256MB verwendet wird? (Nähere Einzelheiten unten, wenn nötig.)Kann ich die Java-Max-Heap-Größe für die Ausführung aus einer JAR-Datei festlegen?
Dies ist ein Kommandozeilen-Anwendung, die ich in Java geschrieben habe, die einige Bildmanipulation der Fall ist. Bei hochauflösenden Bildern (etwa 12 Megapixel und mehr, was nicht ungewöhnlich ist) bekomme ich einen OutOfMemoryError.
Derzeit bin ich starten Sie die App aus einer JAR-Datei, dh
java -jar MyApp.jar params...
ich eine OutOfMemoryError durch Angabe 256MB max Heap-Größe auf der Kommandozeile vermeiden kann, das heißt:
java -Xmx256m -jar MyApp.jar params...
Allerdings möchte ich dies nicht angeben müssen, da ich weiß, dass 256 MB auch für hochauflösende Bilder ausreichend ist. Ich möchte diese Informationen in der JAR-Datei gespeichert haben. Ist das möglich?
Die kurze Antwort ist nein, Sie können keine JVM-Argumente für eine JAR angeben. Siehe verwandte Frage http://StackOverflow.com/Questions/193483 –