"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या एक मैप प्रविष्टि को हटाने से पॉइंटर्स पकड़े हुए मेमोरी लीक की ओर ले जाती है?

क्या एक मैप प्रविष्टि को हटाने से पॉइंटर्स पकड़े हुए मेमोरी लीक की ओर ले जाती है?

2025-02-06 पर पोस्ट किया गया
ब्राउज़ करें:636

] पॉइंटर्स का एक टुकड़ा संभावित रूप से मेमोरी लीक का कारण बन सकता है। यह प्रश्न मानचित्रों के लिए उस जांच का विस्तार करता है, विशेष रूप से कि क्या एक मानचित्र से एक प्रविष्टि को हटाने वाले पॉइंटर्स से प्रविष्टि को हटाने से समान व्यवहार होता है। आइए गो के रनटाइम में मैप डिलीट के लिए स्रोत कोड की जांच करें: रनटाइम/हैशमैप.गो (फ़ंक्शन मैपडेल्ट ())। परीक्षा से पता चलता है कि कुंजी और मूल्य दोनों को हटाने पर मंजूरी दे दी जाती है ( #600, #602)। नुकीली वस्तुएं। यह सुनिश्चित करता है कि भले ही मूल्य स्वयं बिंदु हो सकते हैं, लेकिन नक्शा अब उनका संदर्भ नहीं देता है। नतीजतन, नुकीली वस्तुएं कचरा संग्रह के लिए पात्र हो जाती हैं यदि उनके पास कोई अन्य संदर्भ नहीं है।

Does Deleting a Map Entry Lead to Memory Leaks When Holding Pointers?

]

टाइप पॉइंट स्ट्रक्चर { X, y int } var m = मानचित्र [int]*बिंदु {} func मुख्य () { fillmap () हटाएं (एम, 1) runtime.gc () time.sleep (time.second) fmt.println (m) } func fillmap () { p: = & amp; बिंदु {1, 2} runtime.setFinaizer (p, func (p *बिंदु) { fmt.printf ("अंतिम रूप से: % p % v \ n", p, p) }) एम [1] = पी fmt.printf ("मानचित्र में पुट: % p % v \ n", p, p) } आउटपुट:

को मानचित्र में डालें अंतिम रूप से: 0x1040a128 & {x: 1 y: 2} मानचित्र []

इस उदाहरण में, पॉइंटर मान (p) को मानचित्र में डाल दिया गया है और एक फाइनलर को कचरा संग्रह पर बुलाया जाना है। मानचित्र से प्रविष्टि को हटाने और कचरा संग्रह के लिए मजबूर करने के बाद, फाइनलर को लागू किया जाता है, यह साबित करते हुए कि पॉइंटर को वास्तव में मानचित्र से हटा दिया गया था।

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

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: 1729686641 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3