String Constant Pool

Blogs ❯❯ Java

Image could not load

Java में जब हम कोई class बनाते है तो एक package internally import होता है मैं बात कर रहा हु java.lang package की without इस package के हम java की class नहीं बना सकते।

आप इस package को java का brain बोल सकते इस में बहुत सारी inbuilt classes ओर interfaces है , इस package को import करने जरूत नहीं होती jvm internally import कर देता हैं।

कुछ important classes ये है -

  1. Object

  2. String

  3. String Buffer

  4. String Builder

  5. Wrapper Classess

  6. Autoboxing Autounboxing

जावा में String groups of characters को represent करने के लिए use की जाती है जिसको हमेशा double quotes ("") में लिखा है

Java में String class Immutable(जिसके behavior को बदला नही जा सकता ) होती है। String objects are fixed. String class final class है इशलिये इसको inherit नहीं किया जा सकता है।

String s1 = new String("learnhindituts"); s1.concat("Tutorials"); System.out.println(s1);//learnhindituts

एक बार string create के बाद हम उस में कुछ change नहीं कर सकते और अगर हमने change करना चाहा तो एक new object will created.इस behavior को immutability कहा जाता है।

String class internally equal () method को override करती है content को comparison करने के लिए यदि content same होता है तो .equal () method true return कर देता है फिर चाहे object different ही क्यों न हो।

Case 1:

String s1 = new String("learnhindituts");

ऊपर दिए गए example में दो object create होंगे , पहला Heap Memory में ओर दुसरा SCP (String Constant Pool) में ओर s1 हमेसा Heap memory object को point करेगा।

Case 2:

String s1 = "learnhindituts";

दुसरे case में केवल एक ही object banega जो कि SCP(String Constant Pool) में बनेगा। और s1 referring that object.

***

String Constant Pool(SCP) क्या होता हैं.

  1. 1. जब SCP में object बनता है तो JVM पहले check करता है की कोई दूसरा same object, same content के साथ exist करता है या नहीं। यदि object existing होता है तो JVM उस object को reuse कर लेता है  बिना नया object बनाये। ओर यदि object नही मिलता तो नया object create कर लेता है। SCP में दो object with same content के साथ नही हो सकते क्योकि duplicate objects are not allowed in SCP.

  2. Garbage Collector SCP area को access नही कर सकता even object does not have any reference.

  3. सभी SCP objects जब JVM shutdown hota है तब destroy होते है।

String s1 = new String("learnhindituts"); String s2 = new String("learnhindituts"); String s3 = "learnhindituts"; String s4 = "learnhindituts";

Note *

जब भी हम new operator use करते है तब Heap Memory में एक नया object create होता। Heap Memory में duplicate object with same content हो सकते है लेकिन SCP में duplicate object with same content नही हो सकते।

Recent Blogs

Loading ...

Rahul Kumar

Rahul Kumar

Hi ! I'm Rahul Kumar Rajput founder of learnhindituts.com. I'm a software developer having more than 4 years of experience. I love to talk about programming as well as writing technical tutorials and blogs that can help to others. I'm here to help you navigate the coding cosmos and turn your ideas into reality, keep coding, keep learning :)

Get connected with me. :) LinkedIn Twitter Instagram Facebook