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

Какие свойства строки позволяют создать String Pool

Строки в Java неизменяемы (immutable), что позволяет безопасно кэшировать их в String Pool. При создании строки через литерал (String s = "hello") JVM сначала проверяет пул на наличие такой строки, и если находит — возвращает ссылку на существующий объект. Это возможно благодаря:

  1. Иммутабельность — строку нельзя изменить после создания, поэтому кэширование безопасно.
  2. Интернирование — метод intern() добавляет строку в пул или возвращает ссылку на существующую.
  3. Хеширование — строки кэшируются по хеш-коду, что ускоряет поиск в пуле.

Пример:

java
String a = "hello";  // попадает в пул
String b = "hello";  // берется из пула
System.out.println(a == b);  // true
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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