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

Можешь ли предсказать сколько памяти будет занимать строка

Размер строки в Java зависит от её содержимого и версии JVM. В общем случае:

  1. Объект String занимает минимум 24 байта (заголовок объекта + поля)
  2. Массив char[] внутри строки: 12 байт заголовка + 2 байта на каждый символ
  3. Дополнительно учитывается выравнивание памяти (padding)

Пример для строки "Hello":

  • 24 байта (String объект)
  • 12 байт (заголовок массива) + 5*2 = 10 байт (символы) = 22 байта → округляется до 24 из-за выравнивания
  • Итого: ~48 байт

Начиная с Java 9, если строка содержит только Latin-1 символы, используется byte[] вместо char[], что может сократить память вдвое для ASCII строк.

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

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

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

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