不可否认,我本可以通过反复试验找出答案,但我也想知道这个数字是否有所不同以及如何(计算机性能,其他数据结构,编译器类型等)。谢谢!
答案 0 :(得分:4)
如果内存不足read this,则需要增加JVM堆大小。如果你的矩阵需要大量内存(如果没有内存泄漏),除了增加堆大小外,你无能为力。
如果您有足够的内存,您可以根据需要更改矩阵的大小(但不能大于用作索引的整数的最大值)。整数是32位,所以你有理论上的最大限制。
答案 1 :(得分:1)
虽然最大数组大小受32位有符号值的限制。即,2 ^ 31-1或大约20亿,大多数矩阵被实现为二维阵列,因此最大尺寸为20亿* 20亿。你可以使用float或double,但是如果你有一个矩阵那么大的累积舍入误差将是巨大的。 ~2 ^ 62位超过double的精度,因此在任何情况下都必须使用BigDecimal。假设每个单元占用大约128(2 ^ 7)字节的内存,您需要总共2 ^ 69字节或512 Exa字节(32位是64位处理器可以处理的内存的理论限制)
答案 2 :(得分:0)
它还取决于机器的内存以及使用-Xmx为进程分配的内存量。