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

Что такое Memory Alignment

Memory alignment — это расположение данных в памяти по адресам, кратным их размеру. Например, 4-байтовый int должен быть выровнен по адресу, кратному 4. Это требование многих процессоров для эффективного доступа к памяти.

Зачем нужно:

  • Невыровненные данные могут вызывать исключения (на некоторых архитектурах) или работать медленнее.
  • Процессор читает память блоками (например, по 4 байта), и невыровненный доступ требует дополнительных операций.

Пример в Java:

java
class Data {
    byte b;    // 1 byte
    int i;     // 4 bytes (обычно выравнивается до 4-байтовой границы)
}

JVM автоматически управляет выравниванием полей в объектах для оптимизации. В этом примере между b и i может быть 3 байта padding'а.

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

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

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

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