Встречается на собеседованиях • сегодня
Что такое интернирование строк
Интернирование строк — это процесс добавления строки в пул строк (String Pool) для повторного использования. В Java строки из пула хранятся в heap, но JVM оптимизирует память, избегая дублирования.
Пример:
java
String s1 = "hello"; // попадает в пул
String s2 = new String("hello"); // создается новый объект вне пула
String s3 = s2.intern(); // возвращает ссылку на строку из пула
System.out.println(s1 == s3); // true, т.к. ссылаются на один объект
System.out.println(s1 == s2); // false, разные объекты
text
**Нюансы:**
- `intern()` добавляет строку в пул, если её там нет, иначе возвращает существующую.
- Литералы (`"..."`) автоматически интернируются.
- Может ускорить сравнение через `==`, но злоупотребление `intern()` ведет к увеличению потребления памяти.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы