कंप्यूटर साइंस की भाषा में यदि कहा जाये तब garbage collection एक प्रकार का memory management होता है. ये automatically clean up कर लेता है unused objects और pointers को memory में, जिससे की ये allow करता है resources को फिर से इस्तमाल होने के लिए.
कुछ programming languages में built-in garbage collection होते हैं, वहीँ दूसरों में custom functions की जरुरत पड़ती है unused memory को manage करने के लिए.
एक बहुत ही common method है garbage collection की जिसे की reference counting कहा जाता है. ये strategy simply count करता है की कितने references होते हैं प्रत्येक object को store करने के लिए memory में. अगर एक object के zero references होते हैं, तब ऐसे में इन्हें unnecessary (आदरकारी) माना जाता है और उन्हें delete किया जा सकता है मेमोरी के space को free up करने के लिए.
Advanced reference counting से ये detect करती हैं उन objects को जो की केवल एक दुसरे को reference करती है, जो की ये इंगित करती है की उन objects को जो की अब unused होती है parent process में.
Garbage collection को compile-time के समय में भी किया जा सकता है, जब एक program की source code को compile किया जाता है एक executable program में.
इस प्रक्रिया में, compiler ये निर्धारित करता है की कौन सी resources memory की जिन्हें की कभी भी और access नहीं किया जायेगा एक certain time के बात. फिर से ऐसे instructions add करती है जो की automatically ही deallocate करती हैं उन resources को memory से.
वैसे ये एक बहुत ही effective तरीका है unused objects को हटाने का, वहीँ इसे conservatively किया जाना पड़ता है जिससे की references को delete होने से रोका जा सके जिन्हें बाद में किसी प्रोग्राम में जरुरत पड़ सकती है.
Garbage collection एक बहुत ही महत्वपूर्ण हिस्सा होता है software development का क्यूंकि ये programs को रोकता है ज्यादा RAM के इस्तमाल करने से. वहीँ ये programs की मदद करता है ज्यादा efficiently run करने के लिए, वहीँ ये खतरनाक bugs से उन्हें बचाता भी है, जैसे की memory leaks, जो की एक प्रोग्राम को crash भी कर सकते हैं.
« Back to Wiki Index