在 本机上用eclipse导出一百多万的数据导出,没有问题,但是部署在应用服务器上就会内存溢出,而且我把本机的tomcat也拷贝过去了。其它一个功能,比这数据还多几W,只不过少写出了几个字段,也能正常导出。
int totalSize = behaviorPortraitService.querySiletUserPortraitCountMonth(sietUserPortraitForm.getParams());
int pageNum = 0;
if (totalSize % 1000000 == 0) {
pageNum = totalSize / 1000000;
}else{
pageNum = totalSize / 1000000 + 1;
}
write.append("
年/月
IMSI
手机号码
沉默天数
开卡时间"
+ enter);
outSTr = response.getOutputStream(); // 建立
buff = new BufferedOutputStream(outSTr);
// 循环总页数,得到每页的页数
for (int i = 1; i <= pageNum; i++) {
// 根据页数,得到 PageResult对象
list = behaviorPortraitService.exportSiletUserPortraitMonth(sietUserPortraitForm.getParams(),i,100000);
// 循环List集合进行写入
for (int j = 0; j < list.size(); j++) {
// 循环集合,写入数据到TXT中
write.append(list.get(j).getBegin_endtime());
write.append(" " + list.get(j).getImsi());
write.append(" " + list.get(j).getMsisdn());
write.append(" "+ list.get(j).getSilencedays());
write.append(" " + list.get(j).getStarttime()
+ enter);
}
// 写完一个分页对象之后,清空List,清楚缓存
list.clear();
System.gc();
}
buff.write(write.toString().getBytes("UTF-8"));错误信息:
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.OutOfMemoryError: Java heap space
隔江千里
拉莫斯之舞
随时随地看视频慕课网APP
相关分类