"मैं आपको वस्तु जीवनकाल के बारे में कुछ दिलचस्प बातें भी बताना चाहूंगा। जावा में, गलती से किसी वस्तु को नष्ट करना बहुत मुश्किल है। यदि आपके पास किसी वस्तु का संदर्भ है, तो वह जीवित है।

आप किसी वस्तु के संदर्भ नहीं बदल सकते, और आप उन्हें बढ़ा या घटा नहीं सकते। इसके अतिरिक्त, आप किसी ऑब्जेक्ट का संदर्भ नहीं बना सकते हैं। आप केवल एक संदर्भ निर्दिष्ट कर सकते हैं या इसे शून्य पर सेट कर सकते हैं।"

"मुझे लगता है कि मैं समझता हूं, ऐली। इसलिए यदि मैं किसी वस्तु के सभी संदर्भों को मिटा देता हूं (या शून्य पर सेट कर देता हूं), तो मैं फिर कभी उस वस्तु का संदर्भ प्राप्त करने या उस तक पहुंचने में सक्षम नहीं हो पाऊंगा, है ना?"

"यह सही है। हालाँकि, आपके पास ऐसी स्थिति भी हो सकती है जहाँ सिस्टम में बहुत अधिक जीवित वस्तुएँ हैं जिनका उपयोग नहीं किया जा रहा है। प्रोग्रामर अक्सर दर्जनों वस्तुएँ बनाते हैं, उन्हें प्रसंस्करण के लिए विभिन्न सूचियों में संग्रहीत करते हैं, और फिर इन सूचियों को कभी खाली नहीं करते हैं।

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

आप जल्द ही इसमें नहीं पड़ेंगे, लेकिन हर बार मैं आपको इन अप्रयुक्त वस्तुओं के साथ-साथ उनके निपटान के सही तरीके के बारे में याद दिलाऊंगा।"

"ठीक है। संदर्भों को बेहतर ढंग से समझने में मेरी मदद करने के लिए, ऐली, धन्यवाद।"