gpt4 book ai didi

java - 为大小为 10,000 x 10,000 x 10,000 的 3D 数组分配了多少 GB?

转载 作者:行者123 更新时间:2023-12-01 11:44:47 26 4
gpt4 key购买 nike

我问How do I make a large 3D array without running out of memory? ,我收到了很多答案。所有答案基本上都说同样的事情,但有一点细微的差别。每个答案都声称我的 10,000 x 10,000 x 10,000 数组的大小不同。 (931 GB、931 * 4 GB、4 TB、3725 GB 等)

如何确定需要为 3D 数组分配的内存?

最佳答案

由于java将多维数组实现为数组的数组,因此需要考虑的变量相对较多。

最里面(最后一个维度)通常遵循以下公式:

sizeOf = (number of bytes per element) * (number of elements) + (fixed overhead)

固定开销约为 12 个字节,并且该数字也可能需要舍入以考虑内存粒度。对于较大的数组,这两个因素对数组大小的影响很小。

对于所有其他维度,其公式相同,但元素类型始终为引用。每个元素的字节数为 4(对于使用压缩 OOPS 的 32 位 VM 和 64 位 VM)或 8(不带压缩 OOPS 的 64 位 VM)。

从这里开始就是简单的数学计算。

关于java - 为大小为 10,000 x 10,000 x 10,000 的 3D 数组分配了多少 GB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29239272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com