Ну, у меня есть такой кодстроковый литерал бассейн
String s = "hello";
String s2 = s + "world";
Я знаю, что переменная s хранится в Java Heap в строковый литерал Pool. Также я знаю, что переменная s2 хранится в Java Heap (потому что '+' в этом примере создает новый объект). Но мой вопрос: будет ли «мир» пуст в Пул или с ним ничего не случится?
спасибо. Но можете ли вы прикрепить ссылку, где я могу это прочитать?) –
@ ТимМаркусенко «Поскольку вся информация, необходимая для динамического разрешения символических ссылок на классы, поля и методы во время выполнения, кодируется строковыми константами, постоянный пул содержит фактически самую большую часть файла среднего класса, приблизительно 60%. Фактически, это делает постоянный пул легкой целью для проблем с управлением кодом. Инструкции по байтовому кодированию сами составляют всего 12% ». https://commons.apache.org/proper/commons-bcel/manual.html Не уверен, что вы хотите узнать больше о байт-коде и хранилище строк в постоянном пуле ... –