Подтвердить что ты не робот

Java int размер фиксированный или переменный?

Является ли целочисленный размер в java фиксированной длины или переменной размерности?

ex: 1 или 10000 оба числа занимают одинаковое пространство во время выделения?

4b9b3361

Ответ 1

Целочисленные числа Java представляют собой 32 бита (4 октета) в соответствии с JLS.

Интегральные типы: byte, short, int и long, значениями которых являются 8-битные, 16-разрядные, 32-разрядные и 64-разрядные целые числа с двумя символами.

Источник: JLS §4.2 Примитивные типы и значения

Ответ 2

Он фиксируется по размеру. Все int на Java составляют 32 бита, как с точки зрения программиста, так и с машины.

спецификация Java VM, в которой описывается формат байт-кода JVM, упоминается, что каждый int составляет 32 бита. (Кроме того: boolean значения могут принимать любое количество бит, а также объекты.)

Ответ 4

An int или Integer имеет фиксированный размер. A BigInteger имеет переменный размер.

Ответ 5

Это зависит от реализации JVM.

В типичных реализациях логический, байтовый, char, short и int будут всегда 32 бит в стеке, а в стеке будет 64 бит. В типичных реализациях байты, символы, шорты, ints и longs будут их "родным" размером в массивах (то есть 8, 16, 16, 32 и 64-бит соответственно).

В типичных реализациях размер целых чисел внутри структур будет их собственным размером, если это позволяет выравнивание.

Конечно, возможно, что некоторые очень необычные реализации могут использовать целые переменные длины для структур или даже в стеке или в массивах (но это еще сложнее представить и более неясным), но я, конечно, не видел таких.