जावा में कचरा संग्रह (जीसी) एक आवश्यक अवधारणा है जो स्वचालित मेमोरी प्रबंधन को सक्षम बनाती है, यह सुनिश्चित करती है कि अब उपयोग में नहीं आने वाली वस्तुओं को मुफ्त मेमोरी तक साफ किया जाता है। सी जैसी भाषाओं की तुलना में यह एक बुनियादी अंतर है, जहां डेवलपर्स डिस्ट्रक्टर्स का उपयोग करके मैन्युअल मेमोरी प्रबंधन के लिए जिम्मेदार हैं।
सी में, यदि कोई डेवलपर अप्रयुक्त वस्तुओं को नष्ट करने में विफल रहता है, तो इसका परिणाम OutOfMemoryErrors हो सकता है। जावा कचरा संग्रहण प्रक्रिया को स्वचालित करके इसे सरल बनाता है, जो पृष्ठभूमि में चलता है और मेमोरी क्लीनअप का ख्याल रखता है। यह डेवलपर्स को मैन्युअल मेमोरी प्रबंधन के बोझ से राहत देता है, जिससे मेमोरी हैंडलिंग से संबंधित त्रुटियों की संभावना कम हो जाती है।
जावा में, कचरा संग्रहण प्रक्रिया को डेमन थ्रेड द्वारा प्रबंधित किया जाता है। यह एक निम्न-प्राथमिकता वाला थ्रेड है जो एप्लिकेशन के निष्पादन की पूरी अवधि तक चलता है। इसका मुख्य काम असंबद्ध वस्तुओं को हीप मेमोरी में ढूंढना है और इन पहुंचने योग्य वस्तुओं को नष्ट करके स्थान खाली करना है।
एक आम ग़लतफ़हमी यह है कि कचरा संग्रहण होने पर डेवलपर्स इसे नियंत्रित कर सकते हैं। सच तो यह है, कचरा संग्रहण को स्पष्ट रूप से नियंत्रित नहीं किया जा सकता है। हालाँकि आप System.gc() या Runtime.getRuntime().gc() पर कॉल करके इसका अनुरोध कर सकते हैं, लेकिन इसकी कोई गारंटी नहीं है कि कचरा संग्रहकर्ता तुरंत या बिल्कुल भी चलेगा।
स्थानीय चर: ये अल्पकालिक होते हैं। जैसे ही वे दायरे से बाहर जाते हैं, उनके द्वारा कब्जा की गई मेमोरी कचरा संग्रहकर्ता द्वारा पुनः प्राप्त कर ली जाती है।
इंस्टेंस वेरिएबल्स: क्लास के इंस्टेंस से बंधे हुए, ये वेरिएबल तब एकत्रित हो जाते हैं जब इंस्टेंस दायरे से बाहर हो जाता है। हालाँकि, यदि उनके पास बड़े डेटासेट हैं, तो जब उनकी आवश्यकता नहीं रह जाती है तो उन्हें स्पष्ट रूप से डीरेफ़रेंस करना एक अच्छा अभ्यास है।
स्थैतिक चर: ये कभी भी अपने दायरे से बाहर नहीं जा सकते। यदि उनके पास बड़ी वस्तुएं हैं, तो आपको उन्हें स्पष्ट रूप से अस्वीकार करना चाहिए जब उनकी अब आवश्यकता नहीं है।
जावा का कचरा संग्रहण तंत्र एक शक्तिशाली उपकरण है जो मेमोरी प्रबंधन को सरल बनाता है। हालाँकि, साक्षात्कार की तैयारी करते समय इसकी मूल बातें, जैसे कि यह कब और कैसे संचालित होती है, को समझना महत्वपूर्ण है। सर्वोत्तम प्रथाओं का पालन करके और मेमोरी प्रबंधन के प्रति सचेत रहकर, आप मेमोरी लीक और OutOfMemoryErrors जैसी सामान्य हानियों से बच सकते हैं।
इस श्रृंखला की आगामी पोस्ट मेमोरी लीक और उन्हें रोकने के लिए सर्वोत्तम प्रथाओं की रूपरेखा तैयार करेगी।
जावा बुनियादी बातें
साक्षात्कार अनिवार्यताओं की सारणी
हैप्पी कोडिंग!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3