Speicher wieder freigeben
-
Hi!
Wenn ich in einem Javaprogramm eine Berechnung mache, für die ich zwischenzeitlich viel Speicher benötige, dann gibt die JVM den Speicher nach der Berechnung nicht wieder an das Betriebssystem zurück. Gibt es eine Möglichkeit, die JVM dazu zu bringen, dies zu tun?
...wenn das in einer GUI läuft, dann wird offensichtlich beim Minimieren des Fensters der Speicher zurückgegeben. Zumindest barucht ein minimiertes Javaprogramm nur sehr wenig Speicher und wenn man es wieder groß macht, braucht es weniger Speicher, als direkt nach der Berechnung. ...aber das ist ja keine Lösung!
-
Hi.
In Der Systemklasse könntest du den Garbage Collector aufrufen, mit gc();
-
ja, System.gc(); sollte gehen.
gruss
-
Wobei der Aufruf leider kein Garant dafür ist, dass der GarbageCollector wirklich aufgerufen wird. Man empfiehlt ihm nur nach verwaisten Referenzen zu gucken ... ob er es macht liegt ganz bei ihm.
-
Mit dem Garbage Collector klappt das leider nicht, da der Speicher da nur Java-intern freigegeben wird.