POI导出用JDK8正籎DK7就内存溢出,怎么回事
首先内存溢出的原因确定是Excel数据过大吗?如果是的话你可以考虑加大内存,或者可以把Excel按照sheet页逐个读取,每个sheet页最大65535条数据这样就避免了内存溢出的问题
假如你封装的读Excel的方法是readExcel(InputStream is)
{.....}
那么把方法改成readExcel(Sheet sheet){
直接读sheet内容
}
获取Excel的时候直接按照sheet页循环调用
for(...){
获取sheet页
readExcel(sheet);
执行持久化操作
System.gc();
}
如果不行的话只能加大内存了,因为可能当问件读到内存中时就已经内存溢出了
和楼主一样 Xms Xmx 设置大点就好了