यह एक सवाल है जिसे मैंने हाल ही में अपने साक्षात्कार में पूछा था: 'जीसी.कोलेक्ट()' कॉल के दौरान कौन सी 'यादृच्छिक' वस्तु एकत्र की जाएगी?इनमें से कौन सा ऑब्जेक्ट कचरा संग्रहण के लिए योग्य है?
String a = new Random().Next(0, 1) ==1 ? "Whatever 1" : "Whatever 2";
String b = new WeakReference(new Random()).Target.Next(0, 1) == 1 ?
"Whatever 1" : "Whatever 2";
GC.Collect();
मैंने जवाब है कि यह एक कार्यान्वयन-विशिष्ट सवाल है और यह अत्यधिक GC
कार्यान्वयन और इसी कमजोर संदर्भ अर्थ विज्ञान पर निर्भर करता है। जहां तक मुझे पता है, सी # विनिर्देश GC.Collect
के सटीक वर्णन प्रदान नहीं करता है और कमजोर संदर्भों को कैसे संभाला जाना चाहिए।
हालांकि, मेरा साक्षात्कारकर्ता कुछ और सुनना चाहता था।
आप बहुत विनम्र थे। मेरा जवाब होगा यदि मायने रखता है कि कुछ गड़बड़ है .... –
बहुत अच्छा होगा अगर इस प्रश्न में 'जावा' टैग भी जोड़ा जाता है। – Bhushan