На 64-битной машине размер int в Java составляет 32 или 64 бита? - PullRequest
63 голосов
/ 30 декабря 2008

На 64-битной машине размер int в Java составляет 32 бита или 64 бита?

Ответы [ 7 ]

84 голосов
/ 30 декабря 2008

32 бит. Это одна из особенностей языка Java: размер целого числа не зависит от используемого компьютера. См. соответствующий раздел спецификации .

22 голосов
/ 30 декабря 2008

Размер примитивных данных является частью спецификации виртуальной машины, и не изменяется. Что изменится, так это размер ссылок на объекты, от 32 бит до 64. Таким образом, той же программе потребуется больше памяти на 64-битной JVM. Влияние, которое это оказывает, зависит от вашего приложения, но может быть значительным.

9 голосов
/ 30 декабря 2008

Если вам нужно 64-разрядное целое число, используйте long.

4 голосов
/ 30 декабря 2008

32 бит. Предполагается, что Java будет работать одинаково независимо от машины или ОС, на которой она запущена, и, безусловно, это справедливо, по крайней мере, для примитивных типов данных.

2 голосов
/ 30 декабря 2008

Это одно из следствий лозунга «один раз скомпилируй, запускай где угодно»: выполнение Java не зависит от базового аппаратного размера слова и порядкового номера; JVM работает везде одинаково.

Эта гарантия независимости работает намного лучше, чем попытка абстрагирования ОС; -)

0 голосов
/ 08 августа 2012

Другим пунктом, который обычно неправильно понимают, является тот факт, что размер из этих типов данных будет всегда одинаковым независимо от архитектура, на которой работает наша программа Так что вы можете запустить свой программа на 64-битной машине, но int всегда будет 32-битной долго, поэтому он будет иметь тот же диапазон. Это верно как для C #, так и для Java.

Вот полная статья по этому вопросу:

Интегральные типы данных в Java и C #.

0 голосов
/ 30 декабря 2008

Да, это 32 бита

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...