gpt4 book ai didi

java - 在 Java 中声明 'long' 超过 'int'

转载 作者:行者123 更新时间:2023-12-03 02:17:02 26 4
gpt4 key购买 nike

如果 int 对于一个字段来说足够了,并且如果我出于某种原因使用 long,这会花费我更多的内存吗?

最佳答案

在 Java 中,是的,长整型的宽度为 8 个字节,整数的宽度为 4 个字节。 This Java tutorial goes over the primitive data types.如果将分配数量乘以一定数量(例如,如果您要分配 500 万个这样的变量),则差异就变得可以忽略不计。然而,对于平均使用情况来说,这并不重要。

(您已经在使用 Java,无论如何,内存到处都是。)

在母语中,需要考虑性能; 32 位值可以保存在 32 位架构上的单个寄存器中,但不能保存 64 位值;在 64 位架构上,显然可以。我不确定 Java 对其 native 整数做了什么样的优化,但这在其运行时也可能是正确的。还需要担心对齐问题 - 不过,在使用 Shorts 和 bytes 时您会更多地看到这一点。

最佳实践是使用您需要的类型。如果该值永远不会超过 2^31,则不要使用 long。

关于java - 在 Java 中声明 'long' 超过 'int',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1539544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com