Exception in thread "main" java.lang.OutOfMemoryError: Java heap space auf eclipse
Ich versuche, führen Sie diese Programm mit fork-und join-framework. Wenn ich feed ein JPEG-Bild in der kleineren Größe zu diesem Programm funktioniert es einwandfrei, aber wenn ich das Bild von der Größe mehr als 4 MB, wirft er Sie unten Ausnahme:
****Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at ForkBlur.blur(ForkBlur.java:120)
at ForkBlur.main(ForkBlur.java:110)****
Ich benutze eclipse Helios IDE.
Ich will, dass es funktioniert für größere Bilder der Größe mehr als 50 MB
- Es löscht sagt, was der Fehler ist.Also, was wollen Sie eigentlich?
- Was ist die Frage? Entweder erhöhen heap space oder analysieren den code zu finden, eine Möglichkeit zur Verringerung der Speichernutzung.
- Was zählt, ist die Größe des Bildes unkomprimiert. Dies kann bis zu 100x größer. Ich schlage vor, die Erhöhung der maximalen Speicher, den Sie geben das Programm läuft.
- Ich will, dass es funktioniert für größere Bilder der Größe mehr als 50 MB
- Sie müssen die Java runtime-Parameter angeben, einen größeren heap-Größe im Lauf-Optionen für Ihr Projekt
- 50 MB vor oder nach der Dekompression?
- Wie kann ich das tun ?
- Vor
- Versuchen Sie
-Xmx1g
für die VM/Kommandozeilen-Optionen für Ihr Programm läuft. - stackoverflow.com/questions/8600972/...
- Es hat gut funktioniert . Danke
- Danke . Es bekam .
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es funktionierte gut für mich .
Rechtsklick auf Projekt, das Sie ausführen möchten . Ausführen Als -> Ausführen von configuration ->Argumente .
Dann in VM-Argumente:
-Xmx1g
Müssen Sie sagen, die JVM zu erlauben mehr Speicher für Ihr Programm. Wenn die Ausführung des Programms aus der Befehlszeile, die Sie verwenden würden, die
-mx
option, um festzulegen, wie viel Speicher die JVM verwenden darf.Beispielsweise zu ermöglichen, 128MB Speicher, Sie würde tun:
Wenn ausführen von Eclipse Helios, dies zu tun:
properties
.Run/Debug Settings
.Edit
oder klicken Sie aufNew
zu erstellen, unter Verwendung derJava Application
Konfiguration geben.Arguments
Registerkarte, setzen-mx128M
im VM-Argumente-Feld.mx
option ist jetzt ein standard-java-option und erfordert nicht die führendenX
mehr. Obwohl-Xmx
wird immer noch funktionieren, und kann erforderlich sein, wenn Sie eine ältere version von Java.Müssen Sie einen größeren heap-Größe wenn Sie das Programm ausführen.
Können Sie es über eclipse, wenn das ist Ihre bevorzugte tool. Sie können der rechten Maustaste auf die Datei mit der main-Methode, wählen Sie die option "Ausführen Als" - dies öffnet ein Dialogfeld, in dem Sie einrichten können, die Vielzahl von Kommandozeilen-Optionen (siehe Argumente-Abschnitt).
Der Befehlszeile-option zu konfigurieren, die maximale heap-Größe Xmx; ein Beispiel wäre Xmx 2g, um die maximale heap-Größe von 2 gb.