जावा में गार्बेज कलेक्शन डेमन थ्रेड द्वारा किया जाता है जिसे गार्बेज कलेक्टर (GC) कहा जाता है। JVM के गार्बेज कलेक्टर चलाने की प्रतीक्षा करने के बजाय, हम JVM से गार्बेज कलेक्टर चलाने का अनुरोध कर सकते हैं। इस बात की कोई गारंटी नहीं है कि JVM हमारे अनुरोध को स्वीकार करेगा या नहीं।
जावा में, हम गार्बेज कलेक्टर को मैन्युअली दो तरीकों से कॉल कर सकते हैं:
- System क्लास का उपयोग करके
- Runtime क्लास का उपयोग करके
System क्लास का उपयोग करके
System क्लास में एक स्टैटिक मेथड gc() होता है, जिसका उपयोग JVM से गार्बेज कलेक्टर को कॉल करने का अनुरोध करने के लिए किया जाता है।
उदाहरण
public class SystemClassTest {
public static void main(String[] args){
SystemClassTest test = new SystemClassTest();
test = null;
System.gc();
}
public void finalize() {
System.out.println("गार्बेज कलेक्टेड");
}
}
आउटपुट
गार्बेज कलेक्टेड
Runtime क्लास का उपयोग करके
Runtime जावा में एक सिंगलटन क्लास है और हम getRuntime() मेथड का उपयोग करके रनटाइम ऑब्जेक्ट प्राप्त कर सकते हैं। gc() मेथड Runtime क्लास से है और यह एक इंस्टेंस मेथड है।
उदाहरण
public class RuntimeClassTest {
public static void main(String[] args) {
RuntimeClassTest test = new RuntimeClassTest();
test = null;
Runtime.getRuntime().gc();
}
public void finalize() {
System.out.println("गार्बेज कलेक्टेड");
}
}
आउटपुट
गार्बेज कलेक्टेड