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