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

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


जावा में कचरा संग्रहण एक डेमन थ्रेड . द्वारा किया जाता है कचरा कलेक्टर (GC) कहा जाता है। JVM तक कचरा संग्रहकर्ता चलाने के लिए प्रतीक्षा करने के बजाय हम JVM से कचरा संग्रहकर्ता को चलाने का अनुरोध कर सकते हैं। इस बात की कोई गारंटी नहीं है कि JVM हमारे अनुरोध को स्वीकार करेगा या नहीं।

Java में, हम गारबेज कलेक्टर को मैन्युअल रूप से दो तरह से कॉल कर सकते हैं

  • सिस्टम क्लास का उपयोग करके
  • रनटाइम क्लास का उपयोग करके

सिस्टम क्लास का उपयोग करके

सिस्टम कक्षा में एक स्थिर विधि है 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("Garbage collected");
   }
}

आउटपुट

Garbage collected


रनटाइम क्लास का उपयोग करके

रनटाइम एक एकल वर्ग . है जावा में और हम getRuntime() . का उपयोग करके रनटाइम ऑब्जेक्ट प्राप्त कर सकते हैं तरीका। gc() विधि रनटाइम . से है वर्ग और यह एक उदाहरण विधि है।

उदाहरण

public class RuntimeClassTest {
   public static void main(String[] args) {
      RuntimeClassTest test = new RuntimeClassTest();
      test = null;
      Runtime.getRuntime().gc();
   }
   public void finalize() {
      System.out.println("Garbage Collected");
   }
}

आउटपुट

Garbage collected

  1. जावा में सदस्य आंतरिक वर्ग को कैसे चालू करें?

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

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

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

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

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