why string constant pool in java

Answer Posted / shabina

To make Java more memory efficient, the JVM set aside a special area of memory called as "String Constant Pool" or "String Literal Pool".
When the compiler encounters a string literal, it checks the pool to see if an identical strong already exists or not, If not then it creates a new string literal object.
A String object is created out of the string constant pool, even if an equal already exists in the pool. Considering all that avoid new string unless you specially know that you need it.
JVM has a string pool where it keeps at most one object of any string. String literals always refers to an object in the string literal pool.
String objects created with the new string do not refer to objects in the string pool but can be made to using string's intern() method.
the java.lang.string.intern() returns an intended string, that is one that has an entry in the global string pool, then it will be added.
there is a table always maintaining a single reference to each unique object int the string literal pool ever created by an instance of the runtime in order to optimize space.
That means that they always have a reference to string objects in string literal pool. Therefore, the string objects in the string literal pool are not eligible for garbage collection.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is object-oriented paradigm?

852


What is the synonym of framework?

766


Is list ordered in java?

794


What is a byte string?

830


State some situations where exceptions may arise in java?

854


How many bytes is a string java?

771


What are the differences between getting and load method?

764


These static constructors are correct ? class A { statc intA() { } static A(int x,int y) { } static A(int x) { } }

817


What is native method in java?

801


What is a finally block?

774


Why Java is not pure Object Oriented language?

882


What is the difference between import java.util.date and java .util?

821


What is the difference between yielding and sleeping in java programming?

826


Which is better stringbuilder or stringbuffer?

727


What is style and indentation?

779