Встречается на собеседованиях • сегодня
Как String хранится в памяти
В Java строки хранятся в пуле строк (String Pool) внутри heap-памяти. Начиная с Java 7, String Pool перемещён из PermGen в heap.
Ключевые моменты:
- Строки неизменяемы (immutable) - любая модификация создаёт новый объект
- При создании через литералы (
String s = "hello") JVM сначала ищет строку в пуле new String()всегда создаёт новый объект в куче, даже если такая строка есть в пуле
Пример:
java
String a = "hello"; // попадает в String Pool
String b = "hello"; // берётся из String Pool
String c = new String("hello"); // новый объект в heap
System.out.println(a == b); // true (один объект)
System.out.println(a == c); // false (разные объекты)Для работы с изменяемыми строками используют StringBuilder/StringBuffer.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы