我编写了以下代码,将一维数组转换为2D数组。每当我将其用于小型数组时,它都可以正常工作,每当数组太大时,代码就会引发java.lang.OutOfMemoryError: Java heap space异常。

byte[][] twoD = new byte[(int)Math.ceil(xlArray.length / (double)4096)][4096];


这是IDE中引起的问题吗,因为它无法访问计算机上足够的堆空间或更多空间?

最佳答案

一个IDE(任何IDE)通常会产生一个具有自己的内存设置的子进程。通常,您可以在某种配置文件中进行配置。

例如,在Eclipse中,选择菜单“运行”->“运行配置”。在“ Java应用程序”配置中,转到“参数”选项卡。

在内部可以设置VM参数。查看Java Non-Standard Options以获取有关内存管理的信息。

10-07 13:04
查看更多