2016-12-08 4 views
0

Одна вещь, которую мой профессор не объяснил, заключалась в том, занимались ли классы-оболочки (например, Integer.* или Double.*) большим объемом оперативной памяти, поскольку они имеют формат ссылки на объект, а не примитивный тип данных.Класс обертки ОЗУ

+3

Да, в штучной упаковке занимают больше места, чем примитивы с незапакованными. Я уверен, что это всегда так. – Carcigenicate

+0

см. Этот ответ http://stackoverflow.com/a/258150/2310289 –

ответ

1

Да, коробочный набрал больше места, потому что - указатель на него ссылается (часто 64-бит на современных, не-встраиваемые архитектурах) - из дополнительных полей в собственной реализации предмета (например, возможно, , ссылка на класс, идентификатор и т. д.)

Однако, под капотом, по крайней мере теоретически, JVM/Hotspot может оптимизировать некоторые типы в штучной упаковке на основе их использования.

Смежные вопросы