Ответ
String Pool (пул строк) — это специальная область в heap памяти Java, где хранятся уникальные строковые литералы. При создании строки через двойные кавычки ("text") JVM сначала проверяет String Pool на наличие такой же строки. Если находит — возвращает ссылку на существующий объект, иначе создает новый.
Особенности:
- Экономит память, избегая дублирования.
- Работает благодаря иммутабельности строк.
String.intern()явно добавляет строку в пул (или возвращает существующую).
Пример:
String s1 = "hello"; // Создаётся в String Pool
String s2 = "hello"; // Использует существующую из пула
String s3 = new String("hello"); // Создаёт новый объект в heap
System.out.println(s1 == s2); // true (один объект)
System.out.println(s1 == s3); // false (разные объекты)
System.out.println(s1 == s3.intern()); // true (s3 добавлен в пул) Видео-ответы
▶
Собеседование в Т1 Иннотех на позицию Middle Java ЛайвКодинг
▶
Собеседование на позицию Java Dev
▶
Техническое собеседование Java Developer | ТОП вопросов за 90 минут | от ООП до микросервисов
▶
Собеседование на Java-разработчика, вопросы для подготовки: finalize method, ArrayList, REST и SOAP
▶
Подготовка к Java-собеседованию: Spring, JPA, многопоточность | Тестовое интервью
▶
Собеседование Java | Backend mock interview
▶
Собеседование Java Junior | Подготовка к реальному собеседованию | Jetbulb
▶
Собеседование Java Junior | Jetbulb
▶
Техническое интервью Java Developer - Евгений Мереха