Что такое String pool и зачем он нужен?

Junior
399 просмотров
AFK Offer AI

String pool — это область в heap, где JVM хранит уникальные строковые литералы. Когда ты пишешь String s = "hello", JVM проверяет пул: если "hello" уже есть — возвращает ссылку на существующий объект, нет — создаёт новый и кладёт в пул. Это экономит память, потому что строки в Java иммутабельны. А вот new String("hello") всегда создаёт новый объект в heap, минуя пул. Метод intern() принудительно помещает строку в пул.

Следующий вопрос

Как работает try-with-resources?