具体的参数如下:
java.lang.OutOfMemoryError: Java heap space
at org.apache.poi.hssf.usermodel.HSSFWorkbook.getBytes(HSSFWorkbook.java:1184)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1118)
at jp.co.liveon.util.excel.ExcelEngine.download(ExcelEngine.java:179)
at jp.co.liveon.angelware.shift.employeeprint.logic.EmployeePrintPHLogic.excelOutput(EmployeePrintPHLogic.java:983)
at jp.co.liveon.angelware.shift.employeeprint.logic.EmployeePrintPHLogic.initExcel(EmployeePrintPHLogic.java:115)
at jp.co.liveon.angelware.shift.employeeprint.action.EmployeePrintPHAction.execute(EmployeePrintPHAction.java:82)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at jp.co.liveon.util.filter.EncodingFilter.doFilter(EncodingFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
有谁能帮解决一下;配置环境;eclipse3.1 + tomcat5.5.26 + java1.6;采用struts1.1.
poi-3.1-FINAL-20080629.jar操作excel;
java.lang.OutOfMemoryError: Java heap space
at org.apache.poi.hssf.usermodel.HSSFWorkbook.getBytes(HSSFWorkbook.java:1184)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1118)
at jp.co.liveon.util.excel.ExcelEngine.download(ExcelEngine.java:179)
at jp.co.liveon.angelware.shift.employeeprint.logic.EmployeePrintPHLogic.excelOutput(EmployeePrintPHLogic.java:983)
at jp.co.liveon.angelware.shift.employeeprint.logic.EmployeePrintPHLogic.initExcel(EmployeePrintPHLogic.java:115)
at jp.co.liveon.angelware.shift.employeeprint.action.EmployeePrintPHAction.execute(EmployeePrintPHAction.java:82)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at jp.co.liveon.util.filter.EncodingFilter.doFilter(EncodingFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
有谁能帮解决一下;配置环境;eclipse3.1 + tomcat5.5.26 + java1.6;采用struts1.1.
poi-3.1-FINAL-20080629.jar操作excel;
比较详细
实在不行就换一台内存大一点的机器
Exception很简单,你的Heap内存不够了。单凭你这里的信息,大家没法知道是你的程序有问题,比如应该需要2M内存的,结果跑200M还没完,内存不够了。还是本来你的数据量就大,就是正常跑超出了。
如果是第一种情况,那你调试一下看看了。如果是第二中情况,http://www.java2000.net/p2849 里面已经详细介绍如何设置Heap的Size了,改大一点看看。注意JVM的Heap的Size是有限制的:http://www.baizeju.com/html/Java/200806/04-10.html
response.reset();
response.setContentType(CONTENT_TYPE);
response.setHeader(HEAD_NAME, HEAD_VALUE + fileName);
os = response.getOutputStream();
workbook.write(os);})