首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.OutOfMemoryError:当通过Apache读取宏启用excel工作表时,GC开销限制超过错误

java.lang.OutOfMemoryError:当通过Apache读取宏启用excel工作表时,GC开销限制超过错误
EN

Stack Overflow用户
提问于 2017-07-24 10:55:17
回答 1查看 540关注 0票数 0

我有一个宏启用格式的Excel文件。在这个excel中,有2-3个相关的下拉列表。我已经编写了宏代码来停止对特定列的删除。

我使用下面的代码上传此excel。

代码语言:javascript
复制
XSSFWorkbook workbook = new XSSFWorkbook(new 
            FileInputStream(fileName));
            XSSFSheet sheet = workbook.getSheetAt(1);
            XSSFRow row;
            XSSFCell cell;
            int rows = sheet.getPhysicalNumberOfRows();

但这是一个错误:

代码语言:javascript
复制
java.lang.OutOfMemoryError: GC overhead limit exceeded
	com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getNodeObject
    (DeferredDocumentImpl.java:972)
	com.sun.org.apache.xerces.internal.dom.DeferredElementNSImpl.synchronizeD
    ata(DeferredElementNSImpl.java:126)
	com.sun.org.apache.xerces.internal.dom.ElementNSImpl.getNamespaceURI(Elem
    entNSImpl.java:250)

在没有宏的情况下上传时,没有错误,而且工作正常.

EN

回答 1

Stack Overflow用户

发布于 2017-07-24 11:30:06

java.lang.OutOfMemoryError:超出了GC开销限制:当GC无法在连续循环中释放对象时,就会出现此错误。可以在vm启动参数中指定限制。

这意味着宏在您的参考资料是很强的,不符合GC资格。在没有宏的情况下,相同的对象有资格获得GC。

您需要了解为什么在添加宏时,引用变得可访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45278775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档