Встречается на собеседованиях • сегодня

Как долго в String Pool хранятся строки

Строки в String Pool хранятся в течение всего времени работы JVM, пока не будет выполнена сборка мусора. Однако, строки из пула не удаляются стандартным GC, так как они находятся в специальной области памяти — Heap (до Java 7 — PermGen). Начиная с Java 7, String Pool перемещен в Heap, что позволяет GC удалять неиспользуемые строки при нехватке памяти.

Пример:

java
String s1 = "hello"; // попадает в String Pool
String s2 = new String("hello").intern(); // также попадает в Pool

Сборка мусора может удалить строку из пула, только если на неё нет ссылок. В большинстве случаев строки остаются в пуле до завершения работы приложения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы