What is meant by String Pool? And what is the difference between the following declarations:
String s = "hello";
String s = new String("hello");
Is there any difference between the storing of these two strings by the JVM?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The string pool is the JVM’s particular implementation of the concept of string interning:
Basically, a string intern pool allows a runtime to save memory by preserving immutable strings in a pool so that areas of the application can reuse instances of common strings instead of creating multiple instances of it.
As an interesting side note, string interning is an example of the flyweight design pattern: