标签:poi

POI事件驱动读取Excel分析

前言 前一篇文章http://codingo.xyz/index.php/2017/06/29/poi_excel/介绍了实际项目中读取Excel导致内存溢出的问题,最后总结了在读取大Excel情况下,优先使用事件驱动模式读取,但是文件并没有对事件驱动模式做过多分析,本文将对事件驱动模式做简单分析。 xml解析器 jdk本身提供了两种XMl解析器: 1.像文档对象模型(Document Object Model,DOM)解析器这样的树型解析器(tree parser),它们将读入的XML文档转换成树结构; 2.像用于XML的简单API(Simple API for XML,SAX)解析器这样的…

阅读全文 »

Poi读取Excel引发的内存溢出

前言 最近生产环境有个老项目一直内存报警,不时的还出现内存泄漏,导致需要重启服务器,已经严重影响正常服务了。 分析 1.dump内存文件 liunx使用如下命令: 2.使用Eclipse Memory Analysis进行分析 异常如下: POI在加载Excel引发了内存泄漏,中间创建了大量的对象,占用了大量的内存 3.查看上传的Excel大小 经查看发现很多Excel大小在9M的文件 4.查看代码POI读取Excel的方式 发现使用的是用户模式,这样会占用大量的内存;POI提供了2中读取Excel的模式,分别是: 用户模式:也就是poi下的usermodel有关包,它对用户友好,有统一的接口…

阅读全文 »