"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में कचरा संग्रहण को समझना: साक्षात्कार की तैयारी के लिए आवश्यक

जावा में कचरा संग्रहण को समझना: साक्षात्कार की तैयारी के लिए आवश्यक

2024-11-08 को प्रकाशित
ब्राउज़ करें:533

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

कचरा संग्रहण क्यों?

सी में, यदि कोई डेवलपर अप्रयुक्त वस्तुओं को नष्ट करने में विफल रहता है, तो इसका परिणाम OutOfMemoryErrors हो सकता है। जावा कचरा संग्रहण प्रक्रिया को स्वचालित करके इसे सरल बनाता है, जो पृष्ठभूमि में चलता है और मेमोरी क्लीनअप का ख्याल रखता है। यह डेवलपर्स को मैन्युअल मेमोरी प्रबंधन के बोझ से राहत देता है, जिससे मेमोरी हैंडलिंग से संबंधित त्रुटियों की संभावना कम हो जाती है।

कचरा संग्रहण कैसे काम करता है?

जावा में, कचरा संग्रहण प्रक्रिया को डेमन थ्रेड द्वारा प्रबंधित किया जाता है। यह एक निम्न-प्राथमिकता वाला थ्रेड है जो एप्लिकेशन के निष्पादन की पूरी अवधि तक चलता है। इसका मुख्य काम असंबद्ध वस्तुओं को हीप मेमोरी में ढूंढना है और इन पहुंचने योग्य वस्तुओं को नष्ट करके स्थान खाली करना है।

  • डेमन थ्रेड पृष्ठभूमि में चलता है और मुख्य प्रोग्राम के निष्पादन में हस्तक्षेप नहीं करता है। यह JVM को बंद होने से भी नहीं रोकता है।
  • असंदर्भित ऑब्जेक्ट: ये वे ऑब्जेक्ट हैं जो अब प्रोग्राम के किसी भी सक्रिय भाग द्वारा पहुंच योग्य नहीं हैं। दूसरे शब्दों में, इन वस्तुओं की ओर इशारा करने वाला कोई सक्रिय संदर्भ नहीं है, जिससे वे पहुंच योग्य नहीं हैं।

क्या हम जबरदस्ती कचरा संग्रहण कर सकते हैं?

एक आम ग़लतफ़हमी यह है कि कचरा संग्रहण होने पर डेवलपर्स इसे नियंत्रित कर सकते हैं। सच तो यह है, कचरा संग्रहण को स्पष्ट रूप से नियंत्रित नहीं किया जा सकता है। हालाँकि आप System.gc() या Runtime.getRuntime().gc() पर कॉल करके इसका अनुरोध कर सकते हैं, लेकिन इसकी कोई गारंटी नहीं है कि कचरा संग्रहकर्ता तुरंत या बिल्कुल भी चलेगा।

स्मृति प्रबंधन के लिए सर्वोत्तम अभ्यास

  • अप्रयुक्त वस्तुओं को संदर्भित करना: हालांकि हम कचरा संग्रहण को बाध्य नहीं कर सकते हैं, हम उन वस्तुओं को संदर्भित करके जेवीएम की मदद कर सकते हैं जिनकी अब आवश्यकता नहीं है। इससे वे जल्दी संग्रहण के योग्य हो जाते हैं। नीचे दी गई छवि दर्शाती है कि किसी वस्तु का सम्मान कैसे किया जा सकता है:

Understanding Garbage Collection in Java: Essential for Interview Preparation

  • स्थानीय चर: ये अल्पकालिक होते हैं। जैसे ही वे दायरे से बाहर जाते हैं, उनके द्वारा कब्जा की गई मेमोरी कचरा संग्रहकर्ता द्वारा पुनः प्राप्त कर ली जाती है।

  • इंस्टेंस वेरिएबल्स: क्लास के इंस्टेंस से बंधे हुए, ये वेरिएबल तब एकत्रित हो जाते हैं जब इंस्टेंस दायरे से बाहर हो जाता है। हालाँकि, यदि उनके पास बड़े डेटासेट हैं, तो जब उनकी आवश्यकता नहीं रह जाती है तो उन्हें स्पष्ट रूप से डीरेफ़रेंस करना एक अच्छा अभ्यास है।

  • स्थैतिक चर: ये कभी भी अपने दायरे से बाहर नहीं जा सकते। यदि उनके पास बड़ी वस्तुएं हैं, तो आपको उन्हें स्पष्ट रूप से अस्वीकार करना चाहिए जब उनकी अब आवश्यकता नहीं है।

निष्कर्ष

जावा का कचरा संग्रहण तंत्र एक शक्तिशाली उपकरण है जो मेमोरी प्रबंधन को सरल बनाता है। हालाँकि, साक्षात्कार की तैयारी करते समय इसकी मूल बातें, जैसे कि यह कब और कैसे संचालित होती है, को समझना महत्वपूर्ण है। सर्वोत्तम प्रथाओं का पालन करके और मेमोरी प्रबंधन के प्रति सचेत रहकर, आप मेमोरी लीक और OutOfMemoryErrors जैसी सामान्य हानियों से बच सकते हैं।

इस श्रृंखला की आगामी पोस्ट मेमोरी लीक और उन्हें रोकने के लिए सर्वोत्तम प्रथाओं की रूपरेखा तैयार करेगी

संबंधित पोस्ट

  • जावा बुनियादी बातें

  • साक्षात्कार अनिवार्यताओं की सारणी

हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/arshisaxena26/understanding-garbage-collection-in-java-essential-for-interview-preparation-4p3k?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com पर संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3