Встречается на собеседованиях • сегодня
Как объекты попадают в String Pool
В Java строковые литералы автоматически помещаются в String Pool при первом использовании. При вызове intern() строка также добавляется в пул, если её там ещё нет.
Пример:
java
String s1 = "hello"; // попадает в пул
String s2 = new String("hello"); // создается новый объект вне пула
String s3 = s2.intern(); // возвращает ссылку на строку из пула
System.out.println(s1 == s3); // true, т.к. ссылаются на один объект в пуле
text
Нюансы:
1. String Pool хранит только уникальные строки
2. `intern()` может быть дорогим по производительности
3. С Java 7 пул размещается в heap, а не в PermGen
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы