不必要的较大数据类型、变量类型及其性能的声明
Posted
技术标签:
【中文标题】不必要的较大数据类型、变量类型及其性能的声明【英文标题】:Declaration of unnecessary bigger data types, variable types and their performance 【发布时间】:2015-08-03 07:29:29 【问题描述】:这里是初学者。需要更深入的了解。四种整数类型:byte
、short
、int
和 long
。所以,除了他们的范围,我应该知道他们的行为。
int i = 1000 ;
和 long l = 1000 ;
之间的区别
我所说的差异是指内存中分配的空间、使用它们时的速度等。在现实生活中设计算法时我必须牢记的任何事情。
一行,如果long
可以做int
和更多int
,为什么还要使用int
。
在互联网上搜索但没有找到准确的答案。
【问题讨论】:
阅读此javamex.com/tutorials/memory/object_memory_usage.shtml 并查看此答案以获取更多详细信息(内存方面)***.com/a/258150/4807777 【参考方案1】:long
的大小是int
的两倍,至少在 Java 和大多数 C++ 平台中是这样(在 C++ 中,您实际上必须定义 long 的长度,具体取决于平台可能是 32 位或 64 位,这就是为什么C++ 中有一个long long
)。
除了通常的内存使用外,这也可能会影响处理时间,因为可能需要通过总线发送更多数据。您可以在 64 位机器上并行发送 2 个整数。
但很可能您不必考虑所有这些,因为大多数系统的资源并不那么紧张,因此请选择您认为合适的任何内容。
编辑:
如果您在大型数据集上进行操作,使用int
而不是long
可能会节省一些空间,但在这些情况下,实际上可能更明智地设计算法,使其仅对以下数据进行操作立即需要并尽快释放它,即不要将所有内容都保存在内存中。
【讨论】:
以上是关于不必要的较大数据类型、变量类型及其性能的声明的主要内容,如果未能解决你的问题,请参考以下文章