जब किसी वस्तु के लिए कोई और संदर्भ नहीं होते हैं, तो वस्तु को अंतिम रूप दिया जाता है और जब कचरा संग्रह इन अंतिम वस्तुओं को एकत्र करना शुरू करता है यह स्वचालित रूप से JVM . द्वारा किया जाएगा . हम कचरा संग्रहण को सीधे कॉल कर सकते हैं लेकिन यह गारंटी नहीं देता है कि GC तुरंत क्रियान्वित करना शुरू कर देगा।
हम कचरा . कह सकते हैं संग्रह स्पष्ट रूप से दो तरह से
- System.gc() विधि
- Runtime.gc() विधि
द java.lang. Runtime.freeMemory() मेथड Java Virtual Machine (JVM) . में फ्री मेमोरी की मात्रा लौटाता है . gc() . को कॉल करना विधि freeMemory . द्वारा लौटाए गए मान को बढ़ा सकती है ।
उदाहरण
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