【发布时间】:2016-08-28 08:31:57
【问题描述】:
在 Stackoverflow 上的许多帖子中,人们表示使用字节或短整数代替整数不会降低内存使用量或 CPU 使用率。 但是,如果我有一个字节或短数组,那么该数组会比类似的整数数组使用更少的内存和/或更快地迭代吗?
具体来说:我问的是原始类型。
【问题讨论】:
-
如果您询问原始类型,yes, it saves memory to use narrower types。
-
对不起,我的意思是字节。我改了帖子。
-
@Defi 如果您需要
int[],那么您将使用一个,如果您需要byte[],则使用比byte[]更复杂的东西。这里有什么困惑? -
如果您使用最紧凑的类型来解决您的问题,它也将是最小的。如果数组很大,这可能会更快,但是对于一个小数组,它可能没有什么区别。
-
@Defi 即使它确实对单个变量产生了影响,也将是微优化。不幸的是,微优化最受那些还不知道如何编程的人的欢迎,但他们经常不必要地担心他们的程序使用 16 或 17 字节的内存。使用数组时,您通常会处理较大的数量,因此内存节省可能具有一定的意义。当然,在一些非常非常特殊的情况下,您也会对微优化感兴趣。
标签: java arrays integer byte short