Строковые литералы войдут в String Constant Pool.
Следующий снимок может помочь вам понять его визуально , чтобы запомнить его в течение более длительного времени.
[/g3]
Создание объектов по строкам:
String str1 = new String("java5");
Используя строковый литерал «java5» в конструкторе, новое строковое значение сохраняется в пуле строковых констант. Используя новый оператор, в куче создается новый строковый объект с «java5» в качестве значения.
String str2 = "java5"
Ссылка «str2» указана на уже сохраненное значение в пуле константных строк
String str3 = new String(str2);
В куче создается новый строковый объект с тем же значением, что и ссылка на «str2»
String str4 = "java5";
Ссылка «str4» указана на уже сохраненное значение в пуле константных строк
Всего объектов: куча - 2, пул - 1