Встречается на собеседованиях • сегодня
Где могут храниться строки в памяти в Java
В Java строки могут храниться в нескольких областях памяти:
- String Pool (Heap) – при создании строки через литерал (
String s = "hello") она попадает в пул строк, который находится в heap. Пул оптимизирует хранение, избегая дублирования.
-
Heap (вне пула) – при создании через
new String("hello")или динамической конкатенации создаётся новый объект вне пула, даже если такая строка уже есть в пуле. -
Metaspace (до Java 8 – PermGen) – хранятся intern-строки (вызванные через
intern()), а также строковые константы из класса (если они были заинтернированы JVM).
Пример:
java
String a = "hello"; // String Pool
String b = new String("hello"); // Heap
String c = b.intern(); // Вернёт ссылку на "hello" из String Pool
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы