java 读取excel2007 内存不足_内存不足错误 – 写入Excel时的Java堆空间
我有近100,000条记录的数据,我正在尝试使用XSSFWorkbook通过
Java代码将数据写入.xlsx文件.我能够将数据库中的所有数据提取到ArrayList.通过迭代ArryList,我将数据逐个单元地写入.xlsx文件.
当它达到8000行时,java代码抛出内存堆空间错误.
我已经读过某个地方,与XSSFWorkbook相比,SXSSFWorkbook会更轻,所以我尝试使用SXSSFWorkbook.但我仍面临同样的问题.
那么,我在工作簿或我的Java代码中缺少什么?
最初,当我有60,000条记录数据时,我使用了.xls文件.相同的java代码能够使用HSSFWorkbook生成.xls文件.
增加Java堆空间根本不是一个选项,因为我的数据将来会大大增加.
任何帮助将不胜感激.
小块代码,我将数据写入Excel的方式.
int rowNum = sheet.getLastRowNum();
Row lastRow = null ;
Cell cell = null;
ReportingHelperVo reportingHelperVo = null;
for (ReportingVo reportingVo : reportingVos) {
rowNum++;
lastRow = sheet.createRow(rowNum);
reportingHelperVo = reportingVo.reportingHelperVo;
cell = lastRow.createCell(0);
cell.setCellValue(reportingHelperVo.getLocation());
cell.setCellStyle(style);
cell = lastRow.createCell(1);
cell.setCellValue(reportingHelperVo.getCity());
cell.setCellStyle(style);
cell = lastRow.createCell(2);
cell.setCellValue(reportingHelperVo.getCountry());
cell.setCellStyle(style);
}
java 读取excel2007 内存不足_内存不足错误 – 写入Excel时的Java堆空间相关推荐
- java 读取excel2007 内存不足_原创 |我是如何解决POI解析Excel出现的OOM问题的?
背景 之前接手过一个解析Excel的项目,使用的是Java里的POI组件解析的,但是在解析时候经常出现OOM,后来我从下面几个方面优化了下,解决了99%的问题,对,你没看错,只解决了99%. 解决方案 ...
- java 读取excel2007 内存不足_POI处理excel2007内存溢出问题
项目中遇到数据导入.导出用excle操作的问题,数据量在W级别,因03版有6W+的限制,系统统一采用07版excel来做,采用POI进行处理,在导入.导出的时候都遇到的内存溢出的问题,导入方面主要参考 ...
- Java多线程_1_Java内存模型_内存模型的3大特性
Java内存模型: 内存分布情况及其关系: 主内存:Java内存模型规定所有的变量都保存在主内存中 工作内存:每个线程都有自己的工作内存,保存了该线程使用到的变量的主内存副本拷贝 主内存与工作内存的关 ...
- java内存栅栏_内存屏障(Memory Barriers/Fences) - 并发编程中最基础的一项技术
我们经常都听到并发编程,但很多人都被其高大上的感觉迷惑而停留在知道听说这一层面,下面我们就来讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见 ...
- java内存屏障_内存屏障 | 并发编程网 – ifeve.com
本文我将和大家讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见的一项技术. CPU使用了很多优化技术来实现一个目标:CPU执行单元的速度要远 ...
- java heap space 解决方法_内存溢出错误:java堆空间
本文为翻译的文章,作者PANKAJ,原文: https://www.journaldev.com/21010/java-lang-outofmemoryerror-java-heap-space 当J ...
- java 内存池_内存池技术介绍(图文并茂,非常清楚)
看到一篇关于内存池技术的介绍文章,受益匪浅,转贴至此. 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别.而在编程实践中,不可避 ...
- java读取文件特别慢_如何提高在Java中读取大文件的速度?
我只读了一个大小为167MB且行号为1884000的文件.我使用的方法是BufferedReader,以获得读取它的效果. 我注意到,随着当前行号的增加,读取文件的过程越来越慢(在这种情况下,我花了3 ...
- jni jvm 内存泄漏_内存泄漏
OOM:内存溢出,内存泄漏多了就会造成OOM 1.什么是内存泄漏?--JVM,GC垃圾回收机制 内存不在GC掌控之内 (1)什么是垃圾回收机制? 举例: 食堂和餐馆吃饭 第一种:吃完饭了自己去把剩饭倒 ...
最新文章
- Mac上搭建Nginx + rtmp
- richTextBox1 转到行号
- 学python爬虫需要什么基础-从零开始教你学爬虫!python爬虫的基本流程!
- Ksenia and Pan Scales(思维题)
- get pid and kill
- 死锁 操作系统第二章知识点归纳总结
- Python绘制具有描边效果和内部填充的柱状图
- batocera整合包_模擬器作業系統RetroPie更新至4.6,支援Raspberry Pi 4、新增NeoGeo CD模擬功能...
- ERROR: libx264 not found
- 研磨设计模式-设计模式的基础-设计模式有什么
- Garmin NUVI C255 固件刷机教程
- easycamera arm linux环境下运行时库文件找不到的解决方案
- 如何用photoshop做24色环_PS色相环制作方法和教程
- 数据结构实验一,第10题:基于顺序存储结构的图书信息表的图书去重
- excel日期改成字符类型_Excel表格中怎么把日期格式转换成文本格式?excel表格自定义格式的日期...
- html 消除序号,JS实现删除一行数据页面序号重新排序功能。
- Android本地数据搜索实现
- oracle运维常用语句,oracle运维个人常用检查语句整理
- EC20模块内置协议栈的开发笔记
- Grafana画图表教程