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

जावा स्ट्रिंग इंटर्निंग के लिए एक शुरुआत और#एस गाइड

2024-11-06 को प्रकाशित
ब्राउज़ करें:702

A Beginner

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

स्ट्रिंग इंटर्निंग क्या है?

] जब आप जावा में एक स्ट्रिंग बनाते हैं, तो जावा वर्चुअल मशीन (JVM) जांचता है कि क्या स्ट्रिंग पहले से ही स्ट्रिंग पूल में मौजूद है।

यदि ऐसा होता है, तो JVM उस स्ट्रिंग का संदर्भ देता है। यदि यह नहीं होता है, तो JVM पूल में नया स्ट्रिंग जोड़ता है और इसका संदर्भ देता है।
यह तंत्र डुप्लिकेट स्ट्रिंग ऑब्जेक्ट्स के निर्माण से बचकर मेमोरी को बचाने में मदद करता है। एक ही सामग्री के साथ कई ऑब्जेक्ट बनाने के बजाय, जावा मौजूदा ऑब्जेक्ट का पुन: उपयोग करता है।

स्ट्रिंग कैसे काम करता है?

जावा में, स्ट्रिंग अक्षर स्वचालित रूप से इंटर्न हो जाते हैं। जब आप डबल कोट्स का उपयोग करके एक स्ट्रिंग घोषित करते हैं, तो इसे स्ट्रिंग पूल में जोड़ा जाता है। उदाहरण के लिए:


स्ट्रिंग str1 = "हैलो"; स्ट्रिंग str2 = "हैलो";
String str1 = "Hello";
String str2 = "Hello";

इस मामले में, str1 और str2 दोनों स्ट्रिंग पूल में एक ही ऑब्जेक्ट को इंगित करते हैं, क्योंकि स्ट्रिंग "हैलो" इंटर्न है। चूँकि दोनों वेरिएबल एक ही ऑब्जेक्ट को संदर्भित करते हैं,

str1 == str2 सत्य लौटाएगा हालाँकि, जब आप नए कीवर्ड का उपयोग करके तार बनाते हैं, तो स्ट्रिंग स्वचालित रूप से इंटर्नशिप नहीं होती है। इसके बजाय, यह ढेर मेमोरी में एक नई वस्तु बनाता है। उदाहरण के लिए:

स्ट्रिंग str3 = नया स्ट्रिंग ("हैलो"); स्ट्रिंग str4 = नया स्ट्रिंग ("हैलो");
String str3 = new String("Hello");
String str4 = new String("Hello");
str3 == str4 गलत

वापस कर देगा, क्योंकि वे अलग -अलग मेमोरी स्थानों का उल्लेख करते हैं। इंटर्न () विधि का उपयोग करना

यदि आप मैन्युअल रूप से एक स्ट्रिंग इंटर्न करना चाहते हैं, तो आप इंटर्न () विधि का उपयोग कर सकते हैं। यह विधि जांचती है कि क्या स्ट्रिंग पूल में मौजूद है। यदि ऐसा होता है, तो यह मौजूदा स्ट्रिंग का संदर्भ देता है। यदि यह नहीं होता है, तो यह पूल में स्ट्रिंग जोड़ता है और संदर्भ देता है।

निम्नलिखित उदाहरण पर विचार करें:



स्ट्रिंग str5 = नया स्ट्रिंग ("हैलो")। इंटर्न (); स्ट्रिंग str6 = "हैलो"; System.out.println (str5 == str6); // सत्य

] इसलिए, str5 == str6 सही लौटता है।
String str5 = new String("Hello").intern();
String str6 = "Hello";

System.out.println(str5 == str6); // true
स्ट्रिंग इंटर्निंग के लाभ

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

मेमोरी सेविंग के अलावा, स्ट्रिंग इंटर्निंग प्रदर्शन में सुधार कर सकती है। चूंकि इंटर्न्ड स्ट्रिंग्स का पुन: उपयोग किया जाता है, आप सामग्री-आधारित तुलनाओं (समान ()) के बजाय तेजी से संदर्भ तुलना (==) कर सकते हैं, जो कुछ कार्यों को गति दे सकते हैं।

विचार और सीमाएँ

जबकि स्ट्रिंग इंटर्निंग मेमोरी उपयोग और प्रदर्शन में सुधार कर सकती है, इसे विवेकपूर्ण तरीके से उपयोग करना महत्वपूर्ण है। इंटर्निंग हर स्ट्रिंग से स्ट्रिंग पूल में अत्यधिक मेमोरी की खपत हो सकती है, जो कि स्थायी पीढ़ी के स्थान (जावा 8 से पहले) या मेटस्पेस (जावा 8 के बाद से) में संग्रहीत होती है। उन कार्यक्रमों में इंटर्निंग करना जो अद्वितीय स्ट्रिंग्स की एक बड़ी संख्या उत्पन्न करते हैं, मेमोरी मुद्दों को जन्म दे सकते हैं।

इसके अतिरिक्त, अपरिवर्तनीय और दोहराव वाले तार से निपटने के दौरान स्ट्रिंग इंटर्निंग सबसे अधिक फायदेमंद है। गतिशील रूप से उत्पन्न या उत्परिवर्तनीय तार के लिए, इंटर्निंग के लाभ कम महत्वपूर्ण हो सकते हैं।

निष्कर्ष
]

स्ट्रिंग पूल के माध्यम से समान तार के उदाहरणों का पुन: उपयोग करके, आप अपने अनुप्रयोगों के मेमोरी फुटप्रिंट को कम कर सकते हैं। हालांकि, संभावित मेमोरी मुद्दों से बचने के लिए बुद्धिमानी से इंटर्निंग का उपयोग करना महत्वपूर्ण है।

स्ट्रिंग हैंडलिंग और अन्य जावा अवधारणाओं में गहराई से गोता लगाने के लिए,

javatpoint जैसे प्लेटफार्मों पर विस्तृत ट्यूटोरियल की खोज करना मूल्यवान अंतर्दृष्टि प्रदान कर सकता है और अपने प्रोग्रामिंग कौशल को बढ़ाने में मदद कर सकता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/jamatpoint123/a-beginners-guide-to-java-string-interning-ikh?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3