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

Насколько быстрее работает примитивный тип по сравнению с его оберткой

Примитивные типы работают значительно быстрее, чем их обертки (wrapper classes), так как:

  1. Примитивы хранятся в стеке (stack), а обертки – в куче (heap), что требует дополнительных операций выделения/освобождения памяти.
  2. Автоупаковка/распаковка (autoboxing/unboxing) создает временные объекты, нагружая GC.
  3. Обертки – это объекты, поэтому требуют больше памяти (например, Integer занимает 16 байт против 4 байт у int).

Пример (микротест):

java
long sumPrimitive = 0;
for (int i = 0; i < 1_000_000; i++) {
    sumPrimitive += i; // int в стеке
}

Long sumWrapper = 0L;
for (int i = 0; i < 1_000_000; i++) {
    sumWrapper += i; // Автоупаковка int -> Long
}

В этом примере второй цикл будет работать в 5-10 раз медленнее из-за накладных расходов на упаковку.

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

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

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

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