您的位置:

java内存优化之poi,内存缓存java

本文目录一览:

java 使用POI3.7 HSSF 报表导出内存溢出问题

这个主要是excel表格版本的问题2003是有限制的65535,用2007的能导一百万数据,不过内存需要适当的设置大点

java poi 生成Excel 速度非常慢,求优化方案?数据才到2000左右的时候就开始变慢了。。

发现你问题的所在了,你把过多的可重用的东西卸写在了循环内

HSSFCellStyle cellStyle = wb.createCellStyle();

HSSFDataFormat format = wb.createDataFormat();

cellStyle.setDataFormat(format.getFormat("@"));

// HSSFRow row = sheet.createRow(i+2);//这句不可重用

HSSFCell policyNoCell = row.createCell((short) 0);

policyNoCell.setCellStyle(cellStyle);

policyNoCell.setCellValue(new HSSFRichTextString(rs.getString(3)));//这句不可重用

你这个完全可以卸载循环外啊,creat这么多,肯定占内存

就算你有多个style,你也可以只需要creat一次,然后反复调用就好了

切记,以后再代码设计中,一定要考虑最大可能的重用,而不是每次需要去创造(new()、crate什么的),这是一种思维,祝你好运

java excel poi 大数据量50W 内存溢出

50W数库EXCEL打开也有难度,建议导入CSV格式文件,或分多个文件。

关于内存溢出,注意以下几点:

1,分页分批从数据库里查询数据。

2,注意变量的释放,特别是LIST和MAP之类的引用,如果定义成全局变量或静态变量就会很难释放。

3,调大虚拟机内存大小。

Java中的POI他是干嘛的可以做什么

这个是一个用于操作EXCEL和WORD的工具包,不过貌似开发团队解散了,一直没有更新,对WORD的支持不是很好,建议还是使用ITEXT之类吧

java poi进行百万级数据导入 导出 时的瓶颈在哪?又该如何优化?

POI使用Workbook在内存中生成整个文档, 因此到了百万级数据时瓶颈处于内存.

优化方式通常有以下几种方法:

买内存条加大电脑内存

限制每个文件大小, 数据量大时根据最大数量进行分割.

java 用POI处理比较大的word和excel文档。

用它的底层接口,EVentModel来操作会比较省内存,但代码写起来比较麻烦。9M左右就内存溢出的话,应该是你设置的Heap size太小了。增大Heap的大小也是必须的。

如果是xls的,用JExcel会比POI省内存。但它不支持2010。