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

Как устроен по памяти массив примитивов

Массив примитивов в Java хранится в непрерывной области памяти. Каждый элемент занимает фиксированное количество байт в зависимости от типа:

  • byte, boolean: 1 байт
  • short, char: 2 байта
  • int, float: 4 байта
  • long, double: 8 байт

Пример для int[4]:

text
[0x00][0x00][0x00][0x00]  // int 0
[0x00][0x00][0x00][0x01]  // int 1
[0x00][0x00][0x00][0x02]  // int 2
[0x00][0x00][0x00][0x03]  // int 3

Массив хранит:

  1. Заголовок объекта (размер, тип)
  2. Длину массива (4 байта)
  3. Непрерывные данные элементов

Доступ по индексу выполняется за O(1) благодаря адресной арифметике: адрес_начала + индекс * размер_типа.

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

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

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

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