Wenn keine Verweise auf ein Objekt vorhanden sind, wird das Objekt finalisiert, und wenn dieGarbage Collectionstartet, werden diese finalisierten Objekte automatisch gesammelt, was von derJVMerledigt wird. Wir können die Speicherbereinigung direkt aufrufen, es gibt jedoch keine Garantie dafür, dassGCsofort mit der Ausführung beginnt.
Wir könnenGarbage Collectionauf zwei Arten explizit aufrufen:
java.lang.Runtime.freeMemory()-Methode gibt die zurück Menge an freiem Speicher in derJava Virtual Machine (JVM). Der Aufruf der gc()-Methode kann dazu führen, dass der Rückgabewert von freeMemory steigt.
Demonstration
public class GarbageCollectionTest { public static void main(String args[]) { System.out.println(Runtime.getRuntime().freeMemory()); for (int i=0; i<= 100000; i++) { Double d = new Double(300); } System.out.println(Runtime.getRuntime().freeMemory()); System.gc(); System.out.println(Runtime.getRuntime().freeMemory()); } }
15648632 13273472 15970072
Das obige ist der detaillierte Inhalt vonWie rufen wir in Java explizit Garbage Collection (GC) auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!