1
22
这样就为10000000个引用分配了足够的空间,同时也为数组对象本身分配了少量开销。 实际大小将取决于虚拟机-但它肯定不奇怪,它占用了相当数量的内存。。。我希望 至少 compressed oops 对于阵列。 当然,如果你用那么多不同的对象填充数组,那会占用更多的内存。。。但是数组本身仍然需要空间来存放引用。 |
2
17
你说的“很多记忆”是什么意思?分配10000000个指针,每个指针占用4个字节(在32位机器上)-这大约是40mb内存。 |
3
3
所以用这一行就可以创建40或80兆字节的数据。 |
4
3
你预留了一千万个参考的空间。那是相当多的。 |
5
3
它会导致大量内存被使用,因为它需要为1000万个对象及其相关开销分配堆空间。 要查看JVM的内部工作,您可以 check out its source code ,因为它是开源的。 |
6
3
|
7
3
|
8
2
原因是数组内容的空间被分配为一个连续的内存块。 |
9
2
根据
this
从
this
我刚刚在我的64位机器上测试了它,它的大小和一个普通的
我建议您使用某种随机访问文件来保存数据,如果您必须在程序中保存这么多数据的话。甚至使用数据库,例如 Apache Derby ,这也将使您能够对数据进行排序和筛选等。 |
10
0
我可能落后于时代,但我从《实用Java》一书中了解到,向量比数组更高效、更快。可以用向量代替数组吗? |
Toniq · javascript为php保存多维数组 1 年前 |
Jannis · Java中数组的怪异行为 1 年前 |
callum · 如何识别数组中与给定序列不匹配的元素? 1 年前 |
tenfour · 如何使用数组元素的索引初始化数组元素 2 年前 |
Guillaume · 使用操作从Python列表创建numpy数组 2 年前 |
maxMas · Swift 5:为什么会出现索引超出范围错误? 2 年前 |