关于poi一个内存释放的问题
例子Workbook wb = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk
Sheet sh = wb.createSheet();
for(int rownum = 0; rownum < 100000; rownum++){
Row row = sh.createRow(rownum);
for(int cellnum = 0; cellnum < 100; cellnum++){
Cell cell = row.createCell(cellnum);
String address = new CellReference(cell).formatAsString();
if(cellnum>3){
cell.setCellValue(address+String.valueOf(cellnum+"abcdefghijklmnopqrstuvwxyz"));
}else{
cell.setCellValue(1999999999.444);
// CellStyle cellStyle = wb.createCellStyle(); // 建立新的cell样式
// DataFormat format = wb.createDataFormat();
// cellStyle.setDataFormat(format.getFormat("0.000")); // 设置cell样式为定制的浮点数格式
// cell.setCellStyle(cellStyle); }
}
}
FileOutputStream out = new FileOutputStream("e:/sxssf.xlsx");
wb.write(out);
out.close();
注释掉的红色部分会使内存急剧增加,且一直不释放。。。是否那个步骤遗漏了什么造成的??? --------------------编程问答-------------------- 这个和oracle 有关系么? --------------------编程问答--------------------
貌似发错版块了
秋了半天了 --------------------编程问答-------------------- 改不了地方了 --------------------编程问答-------------------- 除
补充:Java , Java相关