Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में गार्बेज कलेक्टर (GC) को कॉल करने के कितने तरीके हैं?


जावा में गार्बेज कलेक्शन डेमन थ्रेड द्वारा किया जाता है जिसे गार्बेज कलेक्टर (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("गार्बेज कलेक्टेड"); 
    } 
}

आउटपुट

गार्बेज कलेक्टेड

  1. - Java में मेंबर इनर क्लास को कैसे इंस्टेंशिएट करें?

    एक क्लास जो एक क्लास के अंदर घोषित की जाती है लेकिन मेथड के बाहर होती है, उसे मेंबर इनर क्लास के रूप में जाना जाता है। हम मेंबर इनर क्लास को दो तरीकों से इंस्टेंशिएट कर सकते हैं: क्लास के भीतर इनवोक किया गया क्लास के बाहर इनवोक किया गया इनर क्लास के नियम आउटर क्लास (वह क्लास जिसमें इनर क्लास ह

  1. - Java में मेथड ओवरराइडिंग को रोकने के कितने तरीके हैं?

    मेथड ओवरराइडिंग जावा में रन-टाइम मेथड बाइंडिंग फीचर के कारण काम करती है। इसलिए, यदि हम जावा कंपाइलर को किसी मेथड के लिए स्टैटिक बाइंडिंग करने के लिए मजबूर करते हैं तो हम उस मेथड को डेराइव्ड क्लास में ओवरराइड होने से रोक सकते हैं। हम Java में मेथड ओवरराइडिंग को 3 तरीकों से रोक सकते हैं: बेस क्लास

  1. - Java में सब-पैकेज का उपयोग कैसे करें

    सबपैकेज सब-डायरेक्टरीज के समान हैं। एक उदाहरण पर विचार करें। कंपनी के पास एक com.apple.computers पैकेज था जिसमें एक Dell.java सोर्स फाइल थी, यह सबडायरेक्टरीज की एक श्रृंखला में समाहित होगी जैसे −....\com\apple\computers\Dell.javaकंपाइलेशन के समय, कंपाइलर इसमें परिभाषित प्रत्येक क्लास, इंटरफेस और एन्