कचरा संग्रहकर्ता और विनाशक के बीच अंतर

विषयसूची:

कचरा संग्रहकर्ता और विनाशक के बीच अंतर
कचरा संग्रहकर्ता और विनाशक के बीच अंतर

वीडियो: कचरा संग्रहकर्ता और विनाशक के बीच अंतर

वीडियो: कचरा संग्रहकर्ता और विनाशक के बीच अंतर
वीडियो: संक्रामक और असंक्रामक रोग में अंतर | sankramak aur asankramak rog mein antar | Biology ScienceSK 2024, जुलाई
Anonim

मुख्य अंतर - कचरा संग्रहकर्ता बनाम विनाशक

अधिकांश प्रोग्रामिंग भाषाएं ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का समर्थन करती हैं। यह ऑब्जेक्ट का उपयोग करके प्रोग्राम या सॉफ़्टवेयर बनाने की एक पद्धति है। एक वर्ग का उपयोग करके एक वस्तु बनाई जाती है, इसलिए यह एक वर्ग का एक उदाहरण है। एक वर्ग इस बात का विवरण प्रदान करता है कि वस्तु में क्या होना चाहिए। ऑब्जेक्ट बनाते समय, ऑब्जेक्ट के लिए मेमोरी आवंटित की जाती है। किसी अन्य वस्तु के लिए उस स्मृति का पुन: उपयोग करने के लिए आवंटित स्मृति को प्रोग्राम निष्पादन के अंत में जारी किया जाना चाहिए। जावा और सी.नेट जैसी प्रोग्रामिंग भाषाएं स्मृति प्रबंधन के लिए कचरा संग्रहकर्ता का उपयोग करती हैं जबकि सी और सी ++ जैसी भाषाओं को प्रोग्रामर को स्मृति प्रबंधन को संभालने की आवश्यकता होती है।मेमोरी की आवश्यक मात्रा आवंटित की जानी चाहिए, और निष्पादन के अंत में, मेमोरी जारी की जानी चाहिए। मेमोरी जारी करने के लिए कचरा संग्रहकर्ता और विनाशक का उपयोग किया जाता है। कचरा संग्रहकर्ता और विध्वंसक के बीच महत्वपूर्ण अंतर यह है कि कचरा संग्रहकर्ता एक सॉफ्टवेयर है जो स्वचालित स्मृति प्रबंधन करता है जबकि विनाशक एक विशेष विधि है जिसे कचरा संग्रहकर्ता द्वारा वस्तु के विनाश के दौरान कहा जाता है।

कचरा संग्राहक क्या है?

कुछ प्रोग्रामिंग भाषाओं में प्रबंधित कोड परिवेश होते हैं। प्रोग्रामिंग भाषाओं जावा और सीमें, स्वचालित मेमोरी प्रबंधन किया जाता है। प्रोग्रामर को वस्तुओं द्वारा उपयोग की जाने वाली मेमोरी को खाली करने की आवश्यकता नहीं होती है। उनके लिए जटिल प्रणालियों को भी विकसित करना आसान है क्योंकि स्मृति प्रबंधन स्वचालित रूप से किया जाता है। प्रोग्रामिंग भाषाओं जैसे सी, सी ++, और ऑब्जेक्टिव सी में, प्रोग्राम को ऑब्जेक्ट्स की मेमोरी को सिस्टम में वापस जारी करना चाहिए। जावा और सीजैसी भाषाएं उन वस्तुओं का पता लगा सकती हैं जिनका अब उपयोग नहीं किया जाता है।बाद में, वे उन वस्तुओं के लिए आवंटित स्मृति को सिस्टम में वापस छोड़ देते हैं।

प्रोग्रामिंग भाषाओं C और Java में, यदि छात्र नामक कोई वर्ग है, तो छात्र s=new Student () का उपयोग करके एक ऑब्जेक्ट बनाया जा सकता है; छात्र वर्ग का उदाहरण बनाने के लिए 'नया' का उपयोग किया जाता है। यह सिस्टम में मेमोरी आवंटित करता है। 'एस' उस ऑब्जेक्ट के लिए आवंटित मेमोरी ब्लॉक की बात कर रहा है। भाषा वातावरण यह पहचानता है कि वस्तुओं का उपयोग किया जा रहा है या नहीं। यदि उनका आगे उपयोग नहीं किया जाता है, तो मेमोरी जारी की जाती है और बाद में उपयोग की जा सकती है।

कचरा कलेक्टर और विनाशक के बीच अंतर
कचरा कलेक्टर और विनाशक के बीच अंतर

चित्र 01: कचरा संग्रहकर्ता और विनाशक

प्रोग्राम चलाते समय, मेमोरी के ब्लॉक सिस्टम मेमोरी पूल से आवंटित किए जाते हैं। फिर प्रोग्राम उस मेमोरी का उपयोग करके कार्य करता है।जब प्रोग्राम का निष्पादन समाप्त हो जाता है, तो कचरा संग्रहकर्ता यह पता लगा लेता है कि प्रोग्राम के लिए स्मृति के आवंटित ब्लॉक आवश्यक हैं या नहीं। यदि उनकी आवश्यकता नहीं है, तो वे मेमोरी ब्लॉक सिस्टम में वापस कर दिए जाते हैं। तो, कचरा संग्रहकर्ता प्रोग्राम में बनाई गई वस्तुओं को ट्रैक कर सकता है। मेमोरी ब्लॉक जिनकी अब आवश्यकता नहीं है उन्हें सिस्टम मेमोरी पूल में वापस भेज दिया जाता है। इस प्रक्रिया का मुख्य लाभ यह पुष्टि करना है कि प्रोग्रामर को मेमोरी डीलोकेशन पर ध्यान केंद्रित करने की आवश्यकता नहीं है। यह प्रदर्शन और स्मृति उपयोग को संतुलित करता है।

विनाशक क्या है?

एक विध्वंसक एक वर्ग का एक विशेष सदस्य कार्य है। जब भी वस्तु दायरे से बाहर हो जाती है तो इसे लागू किया जाता है। किसी फ़ंक्शन के समाप्त होने या प्रोग्राम के निष्पादन के अंत में ऑब्जेक्ट को नष्ट किया जा सकता है। विध्वंसक का नाम वर्ग के नाम के समान है। कंस्ट्रक्टर का उपयोग ऑब्जेक्ट बनाने के लिए किया जाता है। यह मापदंडों को स्वीकार कर सकता है। कंस्ट्रक्टर के पास रिटर्न वैल्यू भी हो सकते हैं। लेकिन एक विनाशक में, कोई वापसी प्रकार या स्वीकार्य पैरामीटर नहीं है।एक वर्ग में केवल एक विध्वंसक हो सकता है। एक विध्वंसक को टिल्ड साइन का उपयोग करके संदर्भित किया जाता है। यदि कक्षा का नाम छात्र है, तो विनाशक ~छात्र () {} है।

कचरा संग्राहक उन वस्तुओं की तलाश करता है जिनकी अब आवश्यकता नहीं है। यह सुनिश्चित करता है कि जिन वस्तुओं का अब प्रोग्राम द्वारा उपयोग नहीं किया जाता है उन्हें नष्ट कर दिया जाना चाहिए। यह विनाशक को स्मृति को मुक्त करने और संसाधनों को हटाने के लिए कहता है। डिस्ट्रक्टर्स मेमोरी को रिलीज करने, फाइलों को बंद करने, नेटवर्क संसाधनों को रिलीज करने और डेटाबेस कनेक्शन को बंद करने के लिए उपयोगी होते हैं। अधिकांश प्रोग्रामिंग भाषाओं में, विनाशक लिखना आवश्यक नहीं है क्योंकि कचरा संग्रहकर्ता डिफ़ॉल्ट निर्माता को स्वयं ही कॉल करता है। यदि प्रोग्रामर ने C++ जैसी भाषा में पॉइंटर्स का उपयोग करके कोई डायनेमिक मेमोरी आवंटन किया है, तो उसे ऑब्जेक्ट के नष्ट होने से पहले मेमोरी को रिलीज करने के लिए एक डिस्ट्रक्टर लिखना चाहिए।

कचरा कलेक्टर और विनाशक के बीच समानता क्या है?

कचरा संग्रहकर्ता और विनाशक दोनों का उपयोग स्मृति को मुक्त करने के लिए किया जाता है जो अब कार्यक्रम के लिए आवश्यक नहीं है।

कचरा कलेक्टर और विनाशक के बीच क्या अंतर है?

कचरा कलेक्टर बनाम विनाशक

कचरा संग्राहक एक ऐसा सॉफ़्टवेयर है जो स्वचालित स्मृति प्रबंधन करता है। डिस्ट्रक्टर एक विशेष विधि है जिसे कचरा संग्रहकर्ता द्वारा वस्तु के विनाश के दौरान बुलाया जाता है।
प्रकार
कचरा संग्राहक एक सॉफ्टवेयर है। विनाशक एक विधि है।

सारांश – कचरा संग्रहकर्ता बनाम विनाशक

कचरा संग्रहकर्ता और विनाशक स्मृति जारी करने से जुड़े दो शब्द हैं। इस लेख में कचरा कलेक्टर और विनाशक के बीच अंतर पर चर्चा की गई। कचरा संग्रहकर्ता और विनाशक के बीच का अंतर यह है कि कचरा संग्रहकर्ता एक ऐसा सॉफ़्टवेयर है जो स्वचालित स्मृति प्रबंधन करता है जबकि विनाशक वस्तु के विनाश के दौरान कचरा संग्रहकर्ता द्वारा बुलाया जाने वाला एक विशेष तरीका है।

गारबेज कलेक्टर बनाम डिस्ट्रक्टर का पीडीएफ डाउनलोड करें

आप इस लेख का पीडीएफ संस्करण डाउनलोड कर सकते हैं और उद्धरण नोट के अनुसार इसे ऑफ़लाइन उद्देश्यों के लिए उपयोग कर सकते हैं। कृपया पीडीएफ संस्करण यहां डाउनलोड करें: कचरा संग्रहकर्ता और विनाशक के बीच अंतर

सिफारिश की: