में कचरा संग्रह के लिए योग्य है क्या मैं पूछ रहा हूं कि एक बेवकूफ सवाल हो सकता है, इसलिए कृपया मुझे क्षमा करें। तो यह इस प्रकार है: बॉस वस्तुओं कीक्या यह जावा ऑब्जेक्ट सूची
बहुतList<Boss> bossList = new ArrayList<Boss>();
Boss b = null;
for(Employee e : List<Employee> myList){
b = new Boss();
b.setEmployee(e);
bossList.add(b);
b = null;
}
उपरोक्त परिदृश्य में
तो, मैं बनाने रहा हूँ और उसके बाद डी-संदर्भित उन्हें (मुझे लगता है मैं लिखने के लिए "ख = अशक्त" की जरूरत नहीं है पता है, लेकिन मैं यह मेरे प्रश्न की स्पष्टता के लिए किया था)। सामान्य परिदृश्य में, मैं उन्हें डूबे करके कचरा संग्रह में चिह्नित करता, लेकिन इस परिदृश्य में, मैं उन बॉस ऑब्जेक्ट्स को सूची संग्रह में जोड़ रहा हूं, क्या वे जीसी के लिए चिह्नित हैं या नहीं? यदि नहीं तो क्यों? और सूची संग्रह प्रत्येक ऑब्जेक्ट के लिए संदर्भ रखने के लिए आंतरिक रूप से कैसे काम करता है, ताकि कचरा संग्रह से बचने के लिए?
[EDIT]
प्रश्न के दायरे से केवल व्यक्तिगत बॉस वस्तुओं for
पाश में बनाया तक ही सीमित है, पर विचार है कि इस विधि से बाहर की दुनिया के लिए सूची का संदर्भ देता है।
ऑब्जेक्ट स्वयं, जिसे आपने सूची में रखा है, स्पष्ट रूप से जीसी के लिए उपलब्ध नहीं है क्योंकि इसका संदर्भ अभी भी मौजूद है, भले ही आप 'बी' को रद्द कर दें। – NilsH
यदि किसी मौजूदा कार्यक्रम स्थिति में पहुंचने के लिए कोई विशेष तरीका है (विशेष श्रेणी WeakReference और इसके संबंधित वर्गों के माध्यम से छोड़कर) किसी वस्तु को कचरा इकट्ठा नहीं किया जा सकता है। एक संदर्भ, कोई फर्क नहीं पड़ता कि, लाइव कोड से पर्याप्त है। – Patashu