Hallo,
ich habe schon ein wenig in den Beiträgen gesucht, leider nichts konkret passendes gefunden.
Ich habe eine Anwendung geschrieben, welche Optimierungen durchführt(Programm läuft bis zu mehrere Stunden/ rechenintensiv).
Mein Problem ist nun, dass der Garbage Collector zwar in NetBeans funktioniert, d.h. Heap Size bleibt konstant bei ca. 200 MB und die Used HeapSize wird bereinigt,
allerdings wenn ich das Programm in einer Exe Anwendung starte, funktioniert die Bereinigung nicht. Die Heap Size & Used Heap Size steigt kontinuierlich an, bis irgendwann die Maximale Heap Size von 1024MB erreicht ist.
Natürlich verlangsamt sich die Anwendung durchgehend mit der Zeit.
Ich habe schon im Profiler nach Fehlern gesucht, allerdings kann dies wohl nicht
die Lösung sein, da es auch in NetBeans funktioniert.
Meine Frage: Wie schaffe ich es, dass meine Java Applikation den Speicher bereinigt, wie es anscheinend NetBeans automatisch macht. (System.gc verwende ich meinem Code an vielen Stellen, allerdings ohne Erfolg). Gibt es dort eine simple und schnelle Lösung?
(z.B per Console den Heap der JVM bereinigen und dies als exec im Code einbauen?)
Eine praktisch hilfreiche Antwort wäre sehr toll,
Gruß
ich habe schon ein wenig in den Beiträgen gesucht, leider nichts konkret passendes gefunden.
Ich habe eine Anwendung geschrieben, welche Optimierungen durchführt(Programm läuft bis zu mehrere Stunden/ rechenintensiv).
Mein Problem ist nun, dass der Garbage Collector zwar in NetBeans funktioniert, d.h. Heap Size bleibt konstant bei ca. 200 MB und die Used HeapSize wird bereinigt,
allerdings wenn ich das Programm in einer Exe Anwendung starte, funktioniert die Bereinigung nicht. Die Heap Size & Used Heap Size steigt kontinuierlich an, bis irgendwann die Maximale Heap Size von 1024MB erreicht ist.
Natürlich verlangsamt sich die Anwendung durchgehend mit der Zeit.
Ich habe schon im Profiler nach Fehlern gesucht, allerdings kann dies wohl nicht
die Lösung sein, da es auch in NetBeans funktioniert.
Meine Frage: Wie schaffe ich es, dass meine Java Applikation den Speicher bereinigt, wie es anscheinend NetBeans automatisch macht. (System.gc verwende ich meinem Code an vielen Stellen, allerdings ohne Erfolg). Gibt es dort eine simple und schnelle Lösung?
(z.B per Console den Heap der JVM bereinigen und dies als exec im Code einbauen?)
Eine praktisch hilfreiche Antwort wäre sehr toll,
Gruß