Недостаточная Ява Heap space

Я использую Апачи Poi, чтобы работать excel с java, и когда я увеличил количество линий excel, от 5000 до 100000 бросает в меня эту ошибку, как я могу решать это

Exception in thread "AWT-EventQueue-0" java.lang. OutOfMemoryError: Ява heap space at com.sun.org.apache.xerces.internal.dom. DeferredDocumentImpl.getNodeObject (DeferredDocumentImpl.java:1017) at com.sun.org.apache.xerces.internal.dom. DeferredDocumentImpl.synchronizeChildren (DeferredDocumentImpl.java:1755) at com.sun.org.apache.xerces.internal.dom. DeferredElementNSImpl.synchronizeChildren (DeferredElementNSImpl.java:158) at com.sun.org.apache.xerces.internal.dom. ParentNode.getFirstChild (ParentNode.java:229) at org.apache.xmlbeans.impl.store. Locale.loadNodeChildren (Locale.java:1402) at org.apache.xmlbeans.impl.store. Locale.loadNode (Locale.java:1445) at org.apache.xmlbeans.impl.store. Locale.loadNodeChildren (Locale.java:1403) at org.apache.xmlbeans.impl.store. Locale.loadNode (Locale.java:1445) at org.apache.xmlbeans.impl.store. Locale.loadNodeChildren (Locale.java:1403) at org.apache.xmlbeans.impl.store. Locale.loadNode (Locale.java:1445) at org.apache.xmlbeans.impl.store. Locale.loadNodeChildren (Locale.java:1403) at org.apache.xmlbeans.impl.store. Locale.loadNode (Locale.java:1445) at org.apache.xmlbeans.impl.store. Locale.parseToXmlObject (Locale.java:1385) at org.apache.xmlbeans.impl.store. Locale.parseToXmlObject (Locale.java:1370) at org.apache.xmlbeans.impl.schema. SchemaTypeLoaderBase.parse (SchemaTypeLoaderBase.java:370) at org.apache.poi. POIXMLTypeLoader.parse (POIXMLTypeLoader.java:164) at org.openxmlformats.schemas.spreadsheetml.x2006.main. WorksheetDocument $Factory.parse (Ункнаун Соурсе) at org.apache.poi.xssf.usermodel. XSSFSheet.read (XSSFSheet.java:226) at org.apache.poi.xssf.usermodel. XSSFSheet.onDocumentRead (XSSFSheet.java:218) at org.apache.poi.xssf.usermodel. XSSFWorkbook.parseSheet (XSSFWorkbook.java:443) at org.apache.poi.xssf.usermodel. XSSFWorkbook.onDocumentRead (XSSFWorkbook.java:408) at org.apache.poi. POIXMLDocument.load (POIXMLDocument.java:169) at org.apache.poi.xssf.usermodel. XSSFWorkbook. (XSSFWorkbook.java:300) at GUI.Principal.jMenuItem1ActionPerformed (Главный java:735) at 1100 GUI.Principal.access$ (Главное java:64) at GUI.Principal$12.actionPerformed (Главное java:338) at javax.swing. AbstractButton.fireActionPerformed (AbstractButton.java:2022) at javax.swing. AbstractButton $Handler.actionPerformed (AbstractButton.java:2348) at javax.swing. DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:402) at javax.swing. DefaultButtonModel.setPressed (DefaultButtonModel.java:259) at javax.swing. AbstractButton.doClick (AbstractButton.java:376) at javax.swing.plaf.basic. BasicMenuItemUI.doClick (BasicMenuItemUI.java:833)

0
задан 06.11.2019, 23:04
1 ответ

К несчастью Апачи POI тратит много памяти.

Предполагая, у которого mГЎquina, где ты будешь выполнять ее aplicaciГіn, было достаточно памяти, сможешь инициализировать ее mГЎquina виртуально Java с этими parГЎmetros:

java -Xms4096M -Xmx8192M [...] // Resto de parámetros que utilices

Первый parГЎmetro (-Xms) - tamaГ±o heap инициал, и второй (-Xmx) tamaГ±o mГЎximo heap. Ты можешь играть с этой стоимостью (я поместил тебя 4GB и 8GB как пример), чтобы налаживать в необходимость тебя aplicaciГіn

0
ответ дан 01.12.2019, 12:34

Теги

Похожие вопросы