java - String objects creation -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 3 जवाब

मान लें कि निम्नलिखित का टुकड़ा है कोड, कितने स्ट्रिंग ऑब्जेक्ट बनाए जाते हैं और जहां (स्ट्रिंगपूल या हेप मेमोरी) उपयुक्त ऑब्जेक्ट की ओर इशारा करते संदर्भों का उल्लेख करते हैं।

  स्ट्रिंग s1 = "abc"; स्ट्रिंग s2 = s1; स्ट्रिंग s3 = नया स्ट्रिंग ("abc"); स्ट्रिंग s4 = s3;  

  स्ट्रिंग s1 = "abc";  

वेरिएबल s1 स्ट्रिंग स्ट्रेटियल हाई को देखेंगे जो स्ट्रिंग स्ट्रिल पूल से संदर्भित है और अगर हम

  स्ट्रिंग s2 = s1 के बारे में बात करते हैं;  

वे दोनों स्ट्रिंग पूल में संग्रहीत वही मान की बात कर रहे हैं।

  स्ट्रिंग s3 = नया स्ट्रिंग ("abc");  

यह रनटाइम पर एक नया स्ट्रिंग तैयार करेगा।

पहले अक्षर में, सभी स्ट्रिंग लीटरल निर्मित होते हैं जब वर्ग JVM में लोड होता है, सेकंड के मामले में, स्ट्रिंग ऑब्जेक्ट्स जब नया स्ट्रिंग () निष्पादित किया जाता है तब बनाया गया।

  स्ट्रिंग s4 = s3;  

वे दोनों एक ही ऑब्जेक्ट को ढेर पर संग्रहीत करते हुए संदर्भित कर रहे हैं।

आपको निम्न लिंक पर स्ट्रिंग स्टोरील पूल के बारे में अच्छा ट्यूटोरियल मिल सकता है


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

c++ - Qt-how to convert a QByteArray to struct -

c++ - What exceptions does boost mapped_file_source throw? -