#Вопросы_с_собеседования



Что такое «пул строк»?



Пул строк – это набор строк, хранящийся в Heap.



• Пул строк возможен благодаря неизменяемости строк в Java и реализации идеи интернирования строк;

• Пул строк помогает экономить память, но по этой же причине создание строки занимает больше времени;

• Когда для создания строки используются ", то сначала ищется строка в пуле с таким же значением, если находится, то просто возвращается ссылка, иначе создается новая строка в пуле, а затем возвращается ссылка на неё;

• При использовании оператора new создаётся новый объект String. Затем при помощи метода intern() эту строку можно поместить в пул или же получить из пула ссылку на другой объект String с таким же значением;

• Пул строк является примером паттерна «Приспособленец» (Flyweight).