获取java.lang.OutOfMemoryError:以下代码中的java堆空间

获取java.lang.OutOfMemoryError:以下代码中的java堆空间,java,selenium-webdriver,Java,Selenium Webdriver,无论何时调用getExcelData()方法,我都会得到java.lang.OutOfMemoryError:java堆空间错误。正如您所看到的,我的代码中也没有任何循环。但仍然面临问题 ExcelLibrary exlb= new ExcelLibrary(); customerId+=exlb.getExcelData("ListCustomer", 1, 0); 还有,同学们 public class ExcelLibrary { String filepath;

无论何时调用
getExcelData()
方法,我都会得到
java.lang.OutOfMemoryError:java堆空间错误
。正如您所看到的,我的代码中也没有任何循环。但仍然面临问题

ExcelLibrary exlb= new ExcelLibrary();
customerId+=exlb.getExcelData("ListCustomer", 1, 0);   
还有,同学们

public class ExcelLibrary {
    String filepath;
    public ExcelLibrary()
    {       
        filepath="C:\\Users\\Use Me\\Desktop\\Test Data.xlsx";
    }
    public Sheet getSheet(String sheetName) throws InvalidFormatException, IOException
    {
        FileInputStream fis= new FileInputStream(filepath);
        Workbook wb=WorkbookFactory.create(fis);
        Sheet sh=wb.getSheet(sheetName);
        return sh;
    }
    public String getExcelData(String sheetName, int rowNo,int colNo) throws InvalidFormatException, IOException
    {
        String value="";
        Sheet sh=getSheet(sheetName);
        Row row=sh.getRow(rowNo);
        Cell cell=row.getCell(colNo,Row.CREATE_NULL_AS_BLANK);
        switch (cell.getCellType()) {

        case Cell.CELL_TYPE_NUMERIC:
            value = "NUMERIC value=" + cell.getNumericCellValue();
            break;

        case Cell.CELL_TYPE_STRING:
            value = "STRING value=" + cell.getStringCellValue();
            break;

        case Cell.CELL_TYPE_FORMULA:
            value = "FORMULA value=" + cell.getCellFormula();
            break;

        case Cell.CELL_TYPE_BLANK:
            Reporter.log("No values Exist for the cell",true);
            value="";
            break;

        case Cell.CELL_TYPE_ERROR:
            Reporter.log("Cell Value Format Error",true);
            value="error";
            break;

        default:
            break;
    }

    Reporter.log("CELL col=" + cell.getColumnIndex() + " VALUE=" + value, true);
    return value;
    }

如果您使用的是32位体系结构,那么可以将堆增加到4GB。64位体系结构可以更高。如果选择的值太高,JVM将无法启动并发出问题警报

在任何情况下,要启动程序(例如,为堆保留6 GB),请使用以下
-X
选项:

java -Xmx6g myprogram

Test Data.xlsx的大小是多少?您当前的堆大小是多少?如何知道堆大小??Excel大小是5.35MB,它会影响我的代码吗??我的堆大小是221MB。