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

जावा में GC के लिए किसी वस्तु को योग्य बनाने के कितने तरीके हैं?


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

किसी वस्तु को GC के योग्य बनाने के कई तरीके हैं।

किसी ऑब्जेक्ट के संदर्भ को निरस्त करके

हम सभी उपलब्ध ऑब्जेक्ट संदर्भों को "शून्य . पर सेट कर सकते हैं " एक बार किसी वस्तु को बनाने का उद्देश्य पूरा हो जाने पर।

उदाहरण

public class GCTest1 {
   public static void main(String [] args){
      String str = "Welcome to TutorialsPoint"; // String object referenced by variable str and it is       not eligible for GC yet.
      str = null; // String object referenced by variable str is eligible for GC.
      System.out.println("str eligible for GC: " + str);
   }
}

आउटपुट

str eligible for GC: null


संदर्भ चर को किसी अन्य ऑब्जेक्ट पर पुन:असाइन करके

हम किसी अन्य वस्तु को संदर्भित करने के लिए संदर्भ चर बना सकते हैं। ऑब्जेक्ट से रेफरेंस वेरिएबल को अलग करें और इसे किसी अन्य ऑब्जेक्ट को संदर्भित करने के लिए सेट करें, इसलिए वह ऑब्जेक्ट जो पुन:असाइन करने से पहले संदर्भित कर रहा था वह GC के लिए योग्य है।

उदाहरण

public class GCTest2 {
   public static void main(String [] args){
      String str1 = "Welcome to TutorialsPoint";
      String str2 = "Welcome to Tutorix"; // String object referenced by variable str1 and str2 and         is not eligible for GC yet.
      str1 = str2; // String object referenced by variable str1 is eligible for GC.
      System.out.println("str1: " + str1);
   }
}

आउटपुट

str1: Welcome to Tutorix

  1. Java में JList के लिए कितने प्रकार के सिलेक्शन मोड हैं?

    एक JList एक घटक है जो JComponent . का विस्तार कर सकता है वर्ग वस्तुओं की एक सूची प्रदर्शित करने के लिए प्रयोग किया जाता है जो उपयोगकर्ता को एक या अधिक वस्तुओं का चयन करने की अनुमति देता है। जावा में JList के लिए तीन प्रकार के चयन मोड हैं ListSelectionModel.SINGLE_SELECTION :एक समय में केवल एक सू

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

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

  1. जावा ऑब्जेक्ट को JSON में कैसे बदलें

    इस ट्यूटोरियल में हम दो पुस्तकालयों, जैक्सन और जीसन का उपयोग करके जावा ऑब्जेक्ट को JSON में बदलने का तरीका दिखाते हैं। हम एक व्यक्ति वर्ग का उपयोग करेंगे जो सिर्फ एक मानक पीओजेओ है। एक बार जब हम एक व्यक्ति वस्तु बना लेते हैं, तो हम इसे विभिन्न पुस्तकालयों का उपयोग करके JSON में बदल सकते हैं। Perso