32位JVM和64位JVM之间的Integer.MAX_VALUE有区别吗?

发布于 2024-12-11 04:54:18 字数 178 浏览 0 评论 0原文

32 位 JVM 和 64 位 JVM 之间的 Integer.MAX_VALUE 值是否不同?

我正在使用 32 位 JDK 编译 Java 类并将其部署在 64 位计算机上。我只是想确保我可以依赖检测 if (aNumber == Integer.MAX_VALUE)

Is the value of Integer.MAX_VALUE different between 32bit JVMs and 64bit JVMs?

I am compiling a Java class using 32bit JDK and deploy it on a 64bit machine. I just want to make sure that I can rely on detecting if (aNumber == Integer.MAX_VALUE).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

裸钻 2024-12-18 04:54:18

否。根据定义 Integer.MAX_VALUE = 2^31 - 1

整数.MAX_VALUE

No. By definition Integer.MAX_VAlUE = 2^31 - 1

Integer.MAX_VALUE

将军与妓 2024-12-18 04:54:18

不会。32 位 JDK 为实例创建 32 位地址,64 位 JDK 为对象实例创建 64 位地址。因此,Integer.MAX_VALUE 是相同的,因为它只是一个值,而不是对象地址。 :)

No. The 32-bit JDK makes 32-bit addresses for the instances, and the 64-bit JDK makes 64-bit addresses for the object instances. Thus, Integer.MAX_VALUE is the same, because it's just an value, not an object address. :)

旧伤还要旧人安 2024-12-18 04:54:18

无论代码运行的 JVM 是 32 位还是 64 位,该常量都具有相同的值。 Integer.MAX_VALUE 文档描述了该值为:

一个常量,保存 int 可以具有的最大值,231-1。

This constant has the same value regardless of whether the JVM the code is running on is 32-bit or 64-bit. The documentation for Integer.MAX_VALUE describes this value as:

A constant holding the maximum value an int can have, 231-1.

日暮斜阳 2024-12-18 04:54:18

您可能希望避免使用 = 符号比较整数,因为:

比较整数(假设aNumber是java.lang.Integer类的对象)

,不,没有区别。

You probably want to avoid comparing Integers using = sign due to:

Comparing Integers (provided aNumber is an object of class java.lang.Integer)

and no, there is no difference.

只是我以为 2024-12-18 04:54:18

32 位和 64 位的相似之处在于它们可以引用的内存位置的数量。在 32 位的情况下,可能的地址数量将为 2^32,在 64 位的情况下,可能的地址数量为 2^64。

jvm 版本与 Integer.MAX_VALUE 无关,它将保持不变。

what all 32 bit and 64 bit resembles is the number of memory locations they can refer.. in case of 32 bit possible number of address will be 2^32 and in case of 64 bit it is 2^64.

The jvm version has nothing to do with Integer.MAX_VALUE , it will remain same.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文