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

Как работает String Pool

В Java String Pool — это специальная область в heap-памяти, где хранятся уникальные строковые литералы. При создании строки через литерал (String s = "hello") JVM сначала проверяет String Pool на наличие такой строки. Если строка есть, возвращается ссылка на существующий объект, если нет — создается новый и добавляется в пул.

Пример:

java
String s1 = "hello"; // Создается в String Pool
String s2 = "hello"; // Используется существующая строка из пула
System.out.println(s1 == s2); // true (ссылки одинаковые)

String s3 = new String("hello"); // Создается новый объект в heap
System.out.println(s1 == s3); // false (разные ссылки)

Важно:

  • Метод intern() добавляет строку в пул (если её там нет) и возвращает ссылку.
  • Строки, созданные через new, не попадают в пул автоматически.
  • String Pool экономит память, избегая дублирования строк.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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