![](/img/trans.png)
[英]java.lang.OutOfMemoryError: GC overhead limit exceeded when reading large PDF file using itext PdfReader
[英]GC overhead limit exceeded when reading large xls file
當我在Netbeans IDE中運行我的項目(對其進行編譯和測試)時,它可以正常工作。 它使我能夠讀取25000行大小的xls文件並提取上面的所有信息,然后將它們保存到數據庫中。
當我生成安裝程序並將其交付時,會出現問題。 當我安裝應用程序並運行它時,出現該錯誤:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at jxl.read.biff.File.read(File.java:217)
at jxl.read.biff.Record.getData(Record.java:117)
at jxl.read.biff.CellValue.<init>(CellValue.java:94)
at jxl.read.biff.LabelSSTRecord.<init>(LabelSSTRecord.java:53)
at jxl.read.biff.SheetReader.read(SheetReader.java:412)
at jxl.read.biff.SheetImpl.readSheet(SheetImpl.java:716)
at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:257)
at com.insy2s.importer.SemapExcelImporter.launchImport(SemapExcelImporter.java:82)
at//staff
我什至使用了POI庫,但情況相同。
更新:
在我的應用程序的messages.log文件中,我發現了這個奇怪的值(已在netbeans.conf中 更改了它們)
Input arguments:
-Xms24m
-Xmx64m
-XX:MaxPermSize=256m
-Dnetbeans.user.dir=C:\Program Files\insy2s_semap_app
-Djdk.home=C:\Program Files\Java\jdk1.8.0_05
-Dnetbeans.home=C:\Program Files\insy2s_semap_app\platform
好,我得到了答案...讓我們從頭開始。
的確,Microsoft文檔處理程序的庫需要大量資源,但並不會像我一開始所認為的那樣造成應用程序運行失敗。 實際上,這個問題向我揭示了一個弱點和不足。
由於使用了Netbeans 8.0.2,因此新屬性
app.conf
應該考慮在內。 它具有配置我們的應用程序所需的全部內容。 但是無法直接對其進行編輯,因此要增加最大允許的內存,我們必須更改
線束的/ etc / app.conf
在netbeans安裝目錄中。 有關更多詳細信息,請單擊此處 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.