Встречается на собеседованиях • сегодня

Где хранятся в памяти обертки примитивных типов

Обертки примитивных типов (Integer, Double и т.д.) хранятся в heap (куче), как и другие объекты. Однако Java использует механизм кэширования для некоторых значений:

  1. Для Integer кэшируются значения от -128 до 127 (по умолчанию, можно расширить через параметр JVM)
  2. Boolean всегда кэширует TRUE и FALSE
  3. Character кэширует значения от 0 до 127

Пример:

java
Integer a = 127;
Integer b = 127;
System.out.println(a == b); // true (один кэшированный объект)

Integer c = 128;
Integer d = 128;
System.out.println(c == d); // false (разные объекты в куче)

Для новых значений создаются новые объекты в куче. При автоупаковке/распаковке JVM использует кэш, если значение попадает в диапазон.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы