मुख्य अंतर - निपटान () बनाम अंतिम रूप देना ()
निपटान () और अंतिम रूप () के बीच महत्वपूर्ण अंतर यह है कि निपटान () को प्रोग्रामर द्वारा स्पष्ट रूप से लागू किया जाना है, जबकि वस्तु को नष्ट करने से पहले कचरा संग्रहकर्ता द्वारा अंतिम रूप () का आह्वान किया जाता है।
डिस्पोज () अप्रबंधित संसाधनों को बंद करने या जारी करने की एक विधि है जैसे कि फाइलें, किसी वस्तु द्वारा आयोजित स्ट्रीम। अंतिम रूप वस्तु के नष्ट होने से पहले वर्तमान वस्तु द्वारा रखे गए अप्रबंधित संसाधनों पर सफाई संचालन करने की एक विधि है।
डिस्पोज क्या है ()?
के सबसे महत्वपूर्ण लाभों में से एक।NET फ्रेमवर्क यह है कि यह स्वचालित कचरा संग्रह प्रदान करता है। यह स्वचालित रूप से उन वस्तुओं की स्मृति को मुक्त करता है जिनका उपयोग नहीं किया जाता है। C और C++ जैसी प्रोग्रामिंग भाषाओं में, प्रोग्रामर को मेमोरी प्रबंधन को स्वयं संभालना होता है। लेकिन C जैसी भाषाओं में जो. NET ढांचे पर बनी है, कचरा संग्रहकर्ता प्रदान करती है। यह मेमोरी को मैनेज करने में मदद करता है। इसका उपयोग अप्रबंधित स्मृति संसाधनों को जारी करने के लिए नहीं किया जा सकता है। इस कार्य को प्राप्त करने के लिए निपटान () विधि का उपयोग किया जा सकता है।
डिस्पोज () पद्धति का उपयोग डेटाबेस कनेक्शन, फ़ाइल हैंडलर आदि जैसे संसाधनों को जारी करने के लिए किया जा सकता है। इस विधि को स्वचालित रूप से नहीं कहा जाता है। इसलिए, प्रोग्रामर को इस पद्धति को लागू करना चाहिए। जैसे ही इस पद्धति को लागू किया जाता है, विशेष अप्रबंधित संसाधन के लिए मेमोरी जारी हो जाती है। यह विधि इंटरफ़ेस IDisposeable में घोषित की गई है।
अंतिम रूप क्या है ()?
अंतिम विधि को केवल कचरा संग्रहकर्ता द्वारा बुलाया जाता है जब किसी वस्तु के संदर्भ का आगे उपयोग नहीं किया जाता है। वस्तु को नष्ट करने से ठीक पहले इस विधि को कहा जाता है। इस विधि को विध्वंसक की सहायता से कार्यान्वित किया जाता है। अंतिम विधि को java.lang.object वर्ग में परिभाषित किया गया है। इस विधि को संरक्षित घोषित किया गया है। अन्य वर्गों तक पहुँचने से बचने के लिए इसे सार्वजनिक घोषित नहीं किया गया है। कुल मिलाकर, अंतिम रूप देने का तरीका प्रोग्राम के प्रदर्शन को कम कर सकता है क्योंकि यह तुरंत मेमोरी को मुक्त नहीं करता है।
निपटान () और अंतिम रूप () के बीच समानता क्या है?
एक अप्रबंधित संसाधन के लिए आवंटित स्मृति को मुक्त करने के लिए निपटान () और अंतिम रूप () दोनों का उपयोग किया जा सकता है।
निपटान () और अंतिम रूप () में क्या अंतर है?
निपटान () बनाम अंतिम रूप देना () |
|
निपटान () अप्रबंधित संसाधनों को बंद करने या जारी करने की एक विधि है, जैसे कि फ़ाइलें, किसी वस्तु द्वारा धारित स्ट्रीम। | अंतिम रूप वस्तु के नष्ट होने से पहले वर्तमान वस्तु द्वारा रखे गए अप्रबंधित संसाधनों पर सफाई संचालन करने की एक विधि है। |
उद्देश्य | |
प्रबंधित संसाधनों को लागू करने पर निपटान विधि का उपयोग अप्रबंधित संसाधनों को मुक्त करने के लिए किया जाता है। | ऑब्जेक्ट नष्ट होने से पहले अप्रबंधित संसाधनों को मुक्त करने के लिए अंतिम विधि का उपयोग किया जाता है। |
परिभाषित इंटरफ़ेस या कक्षा | |
निपटान () को इंटरफ़ेस IDisposable इंटरफ़ेस में परिभाषित किया गया है। | अंतिम रूप () को java.lang.object वर्ग में परिभाषित किया गया है। |
आह्वान विधि | |
डिस्पोज विधि प्रोग्रामर द्वारा लागू की जाती है। | कचरा संग्रहकर्ता द्वारा अंतिम रूप देने की विधि लागू की जाती है। |
एक्सेस स्पेसिफायर | |
निपटान विधि सार्वजनिक है। | अंतिम रूप देने का तरीका सुरक्षित है। |
गति | |
निपटान विधि तुरंत लागू की जाती है। | अंतिम रूप देने का तरीका धीरे-धीरे लागू होता है। |
प्रदर्शन | |
निपटान कार्यक्रम के प्रदर्शन को कम नहीं करेगा। | अंतिम रूप देने की विधि कार्यक्रम के प्रदर्शन को कम कर सकती है। |
सारांश - निपटान () बनाम अंतिम रूप ()
इस लेख में C में निपटान और अंतिम रूप देने के तरीकों के बीच अंतर पर चर्चा की गई है। डिस्पोज़ () और फ़ाइनलाइज़ () के बीच का अंतर यह है कि, डिस्पोज़ () को प्रोग्रामर द्वारा स्पष्ट रूप से लागू किया जाना है, जबकि ऑब्जेक्ट को नष्ट करने से पहले गारबेज कलेक्टर द्वारा फ़ाइनलाइज़ () का आह्वान किया जाता है।