Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java使用外部驱动器存储n维数组_Java_Arrays_Out Of Memory_N Dimensional - Fatal编程技术网

Java使用外部驱动器存储n维数组

Java使用外部驱动器存储n维数组,java,arrays,out-of-memory,n-dimensional,Java,Arrays,Out Of Memory,N Dimensional,我有一些对我的处理器来说非常密集的计算,为了加快速度,我想我可以使用6维数组 我计算出我需要大约50GB的内存来存储我的阵列,这是不可能的,因为我只有4GB的RAM。 我知道,如果有一种方法将其存储在外部内存中,那么获取和设置操作会慢得多,但考虑到我不必执行很多操作,而且我有SSD,我认为这将大大提高我的程序的性能 当我设法制作一个数组时,解决方案是在其中找到10个最大的元素。但是没有它,没有超级计算机我就无法进行计算 我曾考虑使用BufferedWriter写入文件,并存储从哪一行开始的维度,

我有一些对我的处理器来说非常密集的计算,为了加快速度,我想我可以使用6维数组

我计算出我需要大约50GB的内存来存储我的阵列,这是不可能的,因为我只有4GB的RAM。 我知道,如果有一种方法将其存储在外部内存中,那么获取和设置操作会慢得多,但考虑到我不必执行很多操作,而且我有SSD,我认为这将大大提高我的程序的性能

当我设法制作一个数组时,解决方案是在其中找到10个最大的元素。但是没有它,没有超级计算机我就无法进行计算

我曾考虑使用
BufferedWriter
写入文件,并存储从哪一行开始的维度,但在这种情况下,从中获取数据是非常无效的


编辑:我正在使用Ubuntu 16。

你在哪个操作系统上运行?SSD上一个足够大的页面文件(或者如果你运行linux的话是交换分区)能解决你的问题吗?如果你必须使用文件存储,你会想要像[
RandomAccessFile
][1]@JoSSte这样的东西。我正在使用Ubuntu,现在我记得我在安装时又分配了4 GB的交换空间。现在我不知道它可以很容易地改变,你的评论帮助很大!