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

Где хранятся строки

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

Пример:

java
String s1 = "hello"; // Создается в String Pool
String s2 = "hello"; // Используется существующая строка
String s3 = new String("hello"); // Создается новый объект в heap

Ключевые моменты:

  • String Pool экономит память за счет переиспользования строк
  • intern() позволяет поместить строку в пул вручную
  • С Java 7 String Pool перемещен из PermGen в heap
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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