what is meant by string pooling?

Answer Posted / ranganathkini

A string pool is a collection of references to String
objects. Strings, even though they are immutable, are still
objects like any other in Java. Objects are created on the
heap and Strings are no exception. So, Strings that are part
of the "String Literal Pool" still live on the heap, but
they have references to them from the String Literal Pool.

When a .java file is compiled into a .class file, any String
literals are noted in a special way, just as all constants
are. When a class is loaded (note that loading happens prior
to initialization), the JVM goes through the code for the
class and looks for String literals. When it finds one, it
checks to see if an equivalent String is already referenced
from the heap. If not, it creates a String instance on the
heap and stores a reference to that object in the constant
table. Once a reference is made to that String object, any
references to that String literal throughout your program
are simply replaced with the reference to the object
referenced from the String Literal Pool.

Is This Answer Correct ?    37 Yes 4 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How many types of threads are there in java?

745


What is not thread safe?

743


What do you mean by stream pipelining in java 8?

960


What is the final access modifier in java?

818


What is identifier give example?

785


what is the difference between preemptive scheduling and time slicing? : Java thread

763


Why is logger singleton?

736


What are the two basic ways in which classes that can be run as threads may be defined?

817


List out benefits of object oriented programming language?

668


What is a stringbuffer?

746


What is main difference between variable and constant?

778


What are the core java topics?

785


What is tcp and udp?

784


What is difference between length and length() method in java ?

767


What do you understand by garbage collection in Java? Can it be forced to run?

751