存储巨大的阵列

时间:2014-04-25 19:05:31

标签: java arrays overflow physics modeling

我有问题。我在Java,Eclipse工作。我的程序计算一些数学物理,我需要绘制动画(Java SWT包)的过程(一些流体动力学)。问题是2D,因此每次迭代都返回二维数字数组。一次迭代需要相当长的时间和时间,迭代从一次迭代变为另一次迭代,因此在程序工作时动态显示图片似乎是一个坏主意。在这种情况下,我的想法是存储一个三维数组,其中第三个索引代表时间,并在计算结束时构建动画。但是在这种情况下,因为我想从我的程序中得到准确,我需要大量的迭代,所以程序很容易达到最大的数组大小。所以问题是:如何避免创建如此庞大的数组或如何避免数组大小的限制?我想创建一个特殊的文件来存储数据,然后从中读取,但我不确定这一点。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当我在大学为我的论文工作的程序架构生成系统时,我为计算数据创建了小的,极易读取和解析的二进制文件。这意味着可以在可接受的时间内读取数据,尽管数据量非常大......

我建议为你的动画做同样的事情......它可能是有价值的,每个文件可以存储5秒的动画,然后在需要时缓存每个动画......

此外,您的阵列有多大,如果不是最大阵列大小,您可以增加JVM能够分配的内存量,但是您要达到的最大内存限制。

我希望这有帮助,而不仅仅是我的随意......