जावा में अपरिवर्तनीय स्ट्रिंग: आप सभी को जानना आवश्यक है



यह लेख आपको जावा में अपरिवर्तनीय स्ट्रिंग के विस्तृत और व्यापक ज्ञान के साथ प्रदान करेगा, यह महत्वपूर्ण क्यों है?

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

कैसे जावा में एक शक्ति के लिए कुछ बढ़ाने के लिए

जावा में अपरिवर्तनीय स्ट्रिंग का परिचय

स्ट्रिंग पूल में स्ट्रिंग ऑब्जेक्ट्स होते हैं जिन्हें कैश किया जाता है जिसके कारण स्ट्रिंग अपरिवर्तनीय होती है। एकाधिक क्लाइंट कैश्ड स्ट्रिंग शाब्दिक साझा करते हैं। एक ग्राहक की कार्रवाई में शामिल जोखिम अन्य सभी ग्राहकों को प्रभावित करेगा।





उदाहरण के लिए, जब कोई ग्राहक स्ट्रिंग 'टेस्ट' को 'टेस्ट' में बदलता है, तो अन्य सभी क्लाइंट बदले हुए मूल्य देखेंगे। जैसा कि स्ट्रिंग ऑब्जेक्ट्स कैशिंग प्रदर्शन के लिए महत्वपूर्ण था, अपरिवर्तनीय स्ट्रिंग वर्ग ने जोखिम से बचा लिया। इसके अलावा, स्ट्रिंग को अंतिम रूप दिया गया था, ताकि स्ट्रिंग वर्ग के आक्रमणकारी से समझौता नहीं किया जाएगा। उदाहरण अपरिवर्तनीयता, कैशिंग, हैश कोड गणना जो व्यवहारों के विस्तार और ओवरराइड द्वारा की जाती है।

हशमप की

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



जावा में हैशटेबल-इम्यूटेबल स्ट्रिंग
जावा में अपरिवर्तनीय स्ट्रिंग वर्ग सबसे अधिक बार पूछा जाता है ।चर्चा शुरू होती है, स्ट्रिंग क्या है, यह C ++ में स्ट्रिंग से कैसे अलग है, और फिर सवाल यह है कि जावा में अपरिवर्तनीय वस्तुएं हैं, अपरिवर्तनीय वस्तु के लाभ, उनका उपयोग क्या है और उनका उपयोग करने के लिए परिदृश्य क्या हैं।

जावा में अपरिवर्तनीय स्ट्रिंग की आवश्यकता है

यह बताने के लिए दो कारण महत्वपूर्ण हैं कि अपरिवर्तनीय स्ट्रिंग कक्षा जावा में क्यों बनाई गई है:

1. मामले में एक स्ट्रिंग ऑब्जेक्ट / शाब्दिक होना संभव नहीं है।



आइए हम नीचे उदाहरण देखें:

'टेस्ट' कई संदर्भ चर द्वारा संदर्भित किया जा सकता है। यदि उनमें से कोई भी दूसरों के लिए मूल्य बदलता है, तो यह भी प्रभावित होगा। आइये देखते हैं कैसे।

स्ट्रिंग ए = 'टेस्ट'
स्ट्रिंग बी = 'टेस्ट'


स्ट्रिंग ए, जिसे 'टेस्ट' कहा जाता है .toUpperCase () जो उसी ऑब्जेक्ट को में बदलता है,'परीक्षा'तो B भी 'TEST' होगा जिसकी आवश्यकता नहीं है। नीचे एक आरेख है जो हमें बताता है कि स्ट्रिंग को ढेर मेमोरी और स्ट्रिंग शाब्दिक पूल में कैसे बनाया गया है।

2. स्ट्रिंग को व्यापक रूप से कई जावा वर्गों के लिए एक पैरामीटर के रूप में उपयोग किया गया था। उदाहरण के लिए, जब हम एक नेटवर्क कनेक्शन खोलते हैं, तो हम होस्टनाम और पोर्ट नंबर को स्ट्रिंग के रूप में पास कर सकते हैं, डेटाबेस कनेक्शन को खोलने के लिए हम डेटाबेस URL को स्ट्रिंग के रूप में पास कर सकते हैं।


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

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

इसके साथ, हम इस लेख 'जावा में अपरिवर्तनीय स्ट्रिंग' के अंत में आते हैं। सी बाहर निकालो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। एडुर्का का जावा J2EE और SOA प्रशिक्षण और प्रमाणन पाठ्यक्रम उन छात्रों और पेशेवरों के लिए डिज़ाइन किया गया है जो जावा डेवलपर बनना चाहते हैं।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपको वापस कर देंगे।