【发布时间】:2015-07-29 05:13:08
【问题描述】:
您好,我正在从 .xls 表中读取数据,它包含 8500 行数据,我正在尝试将其存储在 double[][] 中,但出现错误
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
代码
public static double[][] getData_DoubleArray(String path, int sheetNo, int rowIndex1, int rowIndex2) {
double[][] doubleArray=null;
try {
HSSFSheet sheet = PS_ExcelReader.getWorkSheet(path,sheetNo);
System.out.println("sheet" + sheet);
List<Object> data1 = PS_ExcelReader.getFullColumnByIndex(sheet, rowIndex1);
List<Object> data2 = PS_ExcelReader.getFullColumnByIndex(sheet, rowIndex2);
doubleArray = new double[data1.size()][data2.size()];
for(int i = 0; i < data1.size(); i++) {
for(int j = 0; j < data2.size(); j++) {
doubleArray[i][0] = (Double)data1.get(i);
doubleArray[i][1] = (Double)data2.get(j);
}
}
System.out.println("array " + Arrays.deepToString(doubleArray));
}
catch(IOException ioe) {
log.error("data mis match");
}
return doubleArray;
}
【问题讨论】:
-
你的 java 堆大小是多少...如果 256 mb 设置为至少 512 mb 或更多
-
我不知道在哪里检查这个