2013-07-23 7 views
9

Каков размер ссылочных переменных в java? Я вполне уверен, что он не будет зависеть от архитектуры или не так ли? Имеет ли оно какое-либо сходство с концепцией указателей в C? Я пытаюсь, но не могу получить убедительного ответа.Каков размер ссылочной переменной в java

+2

Смотрите здесь http://stackoverflow.com/questions/5350950/reference-type-size-in-java –

+0

Или здесь: http://stackoverflow.com/questions/16882277/how-to-find- objects-size-including-objects-objects –

+1

Размер будет зависеть от архитектуры виртуальной машины. –

ответ

12

Количество памяти, используемой в качестве ссылки, зависит от нескольких параметров:

  • на 32-битной JVM, то это будет 32 бита
  • на 64-битной JVM, это может быть 32 или 64 бит в зависимости от конфигурации. Например, в hotspot compressed ordinary object pointers активируется по умолчанию, а размер ссылки - 32 бита. Если вы отключите опцию с помощью -XX:-UseCompressedOops, они будут использовать 64 бита.
Смежные вопросы