9. Что такое пул строк?
UNKNOWNСтринг массив чаров неизменяемый
Пул строк – это набор строк хранящийся в Heap.
- Пул строк возможен благодаря неизменяемости строк в Java и реализации идеи интернирования строк;
- Пул строк помогает экономить память, но по этой же причине создание строки занимает больше времени;
- Когда для создания строки используются \", то сначала ищется строка в пуле с таким же значением, если находится, то просто возвращается ссылка, иначе создается новая строка в пуле, а затем возвращается ссылка на неё;
- String habr = "habrahabr"; - строковый литерал;
- При использовании оператора new создается новый объект String. Затем при помощи метода intern() эту строку можно поместить в пул или же получить из пула ссылку на другой объект String с таким же значением;
- Пул строк является примером паттерна «Приспособленец» (Flyweight).
Предыдущий вопрос: 8. Какие нюансы у строк в Java?
Следующий вопрос: 10. Почему не рекомендуется изменять строки в цикле? Что рекомендуется?
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку: напишите мне