Какова стоимость хранения упакованного примитива в Java?

Насколько велик в байтах упакованный примитив, такой как java.lang.Integer или java.lang.Character в Java?

int составляет 4 байта, типичный указатель также имеет размер 4 байта (если он не сжимается JVM). Стоимость для целого числа (без кеширования) составляет 4 байта + 4 байта = 8 байтов ? Есть ли еще скрытые поля в объекте-поле или дополнительные накладные расходы, связанные с объектами (т.е. есть ли общие затраты на объекты, о которых я не знаю?).

Меня не интересуют вопросы кеширования. Я знаю, что целые числа в определенном диапазоне кешируются JVM.

Можно перефразировать вопрос: на какой максимальный коэффициент следует умножить объем памяти, используемый для значений в штучной упаковке, по сравнению с примитивными значениями?

РЕДАКТИРОВАТЬ: Я понимаю, что существует несколько реализаций JVM. Какова типичная стоимость типичной 32-разрядной реализации HotSpot?

14
задан scravy 27 January 2012 в 17:43
поделиться