在Java中,如果int对于某个字段来说足够了,并且如果我long出于某种原因使用它,那会花费我更多的内存吗?这种类型有所不同吗?
在Java中,是的,long是8字节宽,整数是4字节宽.这个Java教程介绍了原始数据类型.如果将分配数乘以一定数量(例如,如果您分配了500万个这些变量),则差异可以忽略不计.然而,对于平均使用情况,它并不重要.
(你已经在使用Java,无论如何都要使用内存.)
在母语中,有一个性能考虑因素; 32位值可以保存在32位体系结构的单个寄存器中,但不能保存在64位值中; 在64位架构上,很明显,它可以.我不确定Java在其原生整数上做了什么样的优化,但在运行时也可能如此.还有令人担心的对齐问题 - 但是你会看到使用短路和字节的更多信息.
最佳做法是使用您需要的类型.如果该值永远不会超过2 ^ 31,请不要使用long.
| 归档时间: |
|
| 查看次数: |
8930 次 |
| 最近记录: |