.NET फ्रेमवर्क (.NET Framework) सी एल आर (CLR) डेवलपर को स्मृति प्रबंध के बोझ से मुक्त कर देते (कार्य के दौरान आवंटन और मुक्त करता है); बजाय यह स्वयं स्मृति प्रबंधन ही है। इसे समाप्त करने के लिए, . NET प्रकार (वस्तुओं) को स्मृति की instantiations को प्रबंधित ढेर, स्मृति का एक पूल सी एल आर (CLR) द्वारा प्रबंधित से रेगुलर आबंटित किया जाता है। जब तक वहाँ एक वस्तु है, जो, वस्तु या तो एक वस्तु को एक प्रत्यक्ष संदर्भ या वस्तु का ग्राफ के द्वारा हो सकता है तब तक वस्तु को सी एल आर (CLR) द्वारा उपयोग में माना जाता है। जब किसी वस्तु के लिए कोई संदर्भ नहीं हो और यहाँ तक पहुँच नहीं हो या इस्तेमाल नहीं किया जा सके, तो यह कचरा बन जाता है। हालांकि, यह अभी भी यह स्मृति आवंटित करने पर अडिग रहती है। .NET फ्रेमवर्क (.NET Framework) एक कचरा कलेक्टर है जो समय समय पर आवेदन धागे से एक अलग धागा पर चलाया जाता है और यह सब व्यर्थ वस्तुओं की गणना करता है और इसमें उन्हें आवंटित स्मृति सुधारना शामिल हैं।

. NET कचरा (जी सी (GC)) कलेक्टर एक गैर नियतात्मक, संक्षिप्त, फुटकर और झाडू कचरा कलेक्टर है। जी सी (GC) केवल तभी चलाया जाता है जब स्मृति का एक निश्चित राशि का इस्तेमाल किया गया हो या वहाँ सिस्टम पर स्मृति के लिए काफी दबाव हो। चूंकि यह शर्त स्मृति को पुनः प्राप्त करने के लिए पहुँच की गारंटी नहीं है, इसलिए जी सी (GC) रन गैर नियतात्मक हैं। प्रत्येक .NET अनुप्रयोग रूट का एक सेट है, जो प्रबंधित ढेर पर वस्तुओं की ओर इशारा "(प्रबंधित वस्तुओं)" करता है। इनमें स्थिर वस्तुओं और स्थानीय चर या विधि मानकों के रूप में परिभाषित की वस्तुओं को शामिल किया जाता है। साथ ही सीपीयू रजिस्टर द्वारा निर्दिष्ट वस्तुओं को संदर्भित किया जाता है। जब जी सी (GC) रन किया जाता है, तो यह आवेदन को पॉज़ करता है और रूट में निर्दिष्ट प्रत्येक वस्तु के लिए, यह सभी वस्तुओं की रीकर्सिव्ली गणना करता है और उन्हें रीचेबुल चिह्नित करता है। यह .NET मेटाडाटा (.NET Metadata) का उपयोग करता है और वस्तुओं की खोज प्रतिबिंब को समझाकर फिर उन्हें रीकर्सिव्ली चलाता है। तब यह ढेर पर सभी वस्तुओं की गणना करता है जो (शुरू में लगातार आबंटन की होती हैं) प्रतिबिंब का उपयोग कर रहे थे। सभी वस्तुएं जो चिह्नित नहीं हैं, कचरा होती हैं। इस "निशान" चरण है। जब तक कचरा द्वारा आयोजित की स्मृति का कोई भी परिणाम नहीं निकलता है, इसे मुक्त स्थान माना जाता है। बहरहाल, यह वस्तुओं के बीच मुक्त स्थान छोड़ देता है, जो इसके पड़ोस का हिस्सा है। वस्तुओं को एक साथ "जमा" करने के लिए मुक्त स्पेस के द्वारा उन्हें फिर से मिलाने के लिए codice_6 का उपयोग कर पुनः मुक्त स्पेस में कॉपी किया जाता है। किसी वस्तु के लिए कोई संदर्भ वस्तु को मूव कर अवैध किया जाता है और यह GC द्वारा नए स्थान के अद्यतन को प्रतिबिंबित है। कचरा संग्रहण ख़त्म होने के बाद आवेदन फिर से शुरू हो जाता है।

.NET फ्रेमवर्क (.NET Framework) द्वारा इस्तेमाल जी सी (GC) वास्तव में "पीढ़ीगत" है। वस्तुओं को एक "पीढ़ी" सौंपा जाता है; नव निर्मित वस्तुएं "पीढ़ी 0" से संबंधित होती हैं। कचरा संग्रहण से बचानेवाली वस्तुएं "1 जनरेशन" के रूप में चिह्नित की जाती है और जनरेशन 1 वस्तुओं को बचानेवाली वस्तुएं "2 जनरेशन" की होती है। .NET फ्रेमवर्क (.NET Framework) जनरेशन को 2 वस्तुओं का उपयोग करता है। उच्च उत्पादन वस्तुएं अक्सर कम उत्पादन वस्तुओं से भी कम समय में कचरा एकत्र कर रहे हैं। यह कचरा संग्रहण की क्षमता बढ़ाने में मदद करता है, जैसे कि पुरानी वस्तुओं को नये वस्तुओं की तुलना में ज्यादा जीवन भर देते हैं। इस प्रकार, उम्र (और इस प्रकार अधिक संग्रह जीवित रहने की संभावना को हटाने की वस्तुओं) एक संग्रह रन की गुंजाइश से, कम वस्तुओं की जाँच और ठोस करने की आवश्यकता है।

NET बनाम जावा और जावा ईई
आलोचना
वर्ग पुस्तकालय
मेमोरी मैनेजमेंट