我正在尝试创建一个巨大的2D数组。
String[][] arr = new String[100000][100000];
但在执行时,我得到java.lang.OutOfMemoryError: Java heap space
除了增加堆空间外,如何防止出现此异常?
答案 0 :(得分:1)
你真的会使用100000 X 100000的位置吗?如果没有,你不确定最大限制你可以从List
的{{1}}开始
声明如此List
如果您想要致电,则需要List<List<String>> arr = new ArrayList<List<String>>();
代替arr.get(0).get(1);
答案 1 :(得分:1)
你不能这样做它为你的阵列制作100000 * 100000 = 10.000.000.000数据!
你不记得!!
减少这两个数字,我不认为你需要这么多记忆!
你可以继续:
String[][] arr = new String[14000][14000];
我尝试过它有效!