2016-10-18 68 views
0

最近,我开始使用我的一位前同事设计的Java应用程序。执行某些操作后,应用程序冻结和error.log文件显示以下内容:java.lang.OutOfMemoryError的应用程序:Java堆空间

Exception in thread "Thread-4" java.lang.OutOfMemoryError: Java heap space 
    at org.apache.poi.poifs.storage.BATBlock.<init>(BATBlock.java:57) 
    at org.apache.poi.poifs.storage.BATBlock.<init>(BATBlock.java:210) 
    at org.apache.poi.poifs.storage.BATBlock.createBATBlocks(BATBlock.java:87) 
    at org.apache.poi.poifs.storage.BlockAllocationTableWriter.simpleCreateBlocks(BlockAllocationTableWriter.java:150) 
    at org.apache.poi.poifs.storage.BlockAllocationTableWriter.createBlocks(BlockAllocationTableWriter.java:103) 
    at org.apache.poi.poifs.filesystem.POIFSFileSystem.writeFilesystem(POIFSFileSystem.java:221) 
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:744) 
    at net.ndmystko.qa.QAJobReporter.writeWorkbook(QAJobReporter.java:478) 
    at net.ndmystko.qa.QAJobReporter.writeResults(QAJobReporter.java:458) 
    at net.ndmystko.qa.QAJobReporter.writeResults(QAJobReporter.java:402) 
    at net.ndmystko.qa.QA.displayEvolutionProgress(QA.java:1257) 
    at net.ndmystko.qa.QA.access$9(QA.java:1186) 
    at net.ndmystko.qa.QA$4.actionPerformed(QA.java:1176) 
    at net.ndmystko.analysis.evolution.Evolution.run(Evolution.java:191) 

我已阅读,我需要增加分配给应用程序堆大小。但是,我不知道如何实现这一点,或者我可以输入所需的代码。任何帮助将不胜感激。

注:我没有编程经验。我从.bat文件运行程序。

+3

可能的重复[在Java中增加堆大小](http://stackoverflow.com/questions/1565388/increase-heap-size-in-java) –

回答

3

您可以使用以下Java命令行参数的

-Xms: initial heap size 
-Xmx: Maximum heap size 

设置它,当你运行你的应用程序,例如

java -Xmx1024m YourClass 

分配1024 MB

java -Xmx2g YourClass 

分配2 GB

编辑:关于你的音符java命令可能是.bat文件里面。所以你应该打开它,找到java命令并在那里添加命令行参数。

+0

感谢您的答复。 – user28664

+0

感谢您的回复, – user28664

+0

感谢您的回复。我打开命令提示符并键入您提示的代码:java -Xmx2g MyApplication.bat。它似乎没有工作。难道我做错了什么? – user28664

相关问题