Java什么是更有效的内存明智?

时间:2012-07-05 01:58:34

标签: java arrays field ram

我需要存储我的类的大量实例,并且因为我有一台非常糟糕的计算机,只有2GB的RAM,所以我需要它以尽可能少的内存使用率运行。所以任何人都可以告诉我拥有大量的字段或数组更有效率。我不关心“最好的方法”,我需要使用最少RAM的方式。所以,是一个阵列还是很多领域?

2 个答案:

答案 0 :(得分:3)

你的问题有点不清楚,但基本上是班级

public class SomeClass {
    int var1;
    int var2;
    ...
    int var100;
}

将占用与int[100]数组一样多的空间。可能会有一些细微差别,具体取决于平台,但总共不超过16个字节,它可以采用任何一种方式。 (你可以用任何其他数据类型代替int,同样的事情也是如此。)

但是,为了清楚起见,上述任何一项占用的空间少于100个对象,每个对象包含一个int

答案 1 :(得分:2)

数组不会以任何方式压缩对象,它只是命令它们。所以字段或数组会有相同的内存开销。

那就是说,拥有一个对象数组(或List)会更好地保存你的对象并一起收集。