需要上传15M左右的文件,读取其中大概10万行的数据,然后插入到数据表中,要么全成功,要么回滚。可是在测试时发现weblogic的内存消耗在160M,怎样才能优化,使内存消耗可以小很多?这个主要是文件读取的代码问题,还是与数据库交互插入数据时的代码问题呢?或者两者都有原因?
解决方案 »
- 求大神帮助啊:struts2 hibernate3 spring项目,如何实现一个bean对应多张表
- java做大型项目服务器软件应该用哪个?
- jsp显示数据库里图片的输出流
- 这个SQL查询语句如何组合?
- 怎么用正则表达式提取<title></title>之间的内容?
- hibernate和spring整和出错
- 谁遇到过这样的问题,请很紧急帮忙!!!!
- 如何在 JSP 页面中输入数学公式?给出源代码,有重赏!!!
- 请教个问题,jsp文件修改后无法立即生效,只能另存为新文件名才能看到修改的效果,郁闷死了!
- 求靠谱的回答
- out.println("\r\n")是什么意思?
- 请问部署到weblogic上的路径问题
比如可以每次读取1000行,插入到数据库, 记得操作完成释放内存,
比如 transaction.begin();
....
while (从文件读取数据) {
List dataBuffer = new ArrayList();
.........读取1000条数据
.........插入到数据库
dateBuffer.clear();
}
.....
transaction.commit()
怎么会差不多呢, dataBuffer每次最大值存储1000条数据,
做完clear,虚拟机会过来回收内存
定义一个count=0;
while (从文件读取数据) {
List dataBuffer = new ArrayList();
.........读取1000条数据 读一条count+1
.........插入到数据库
if(count%1000==0) 就执行clear;
dateBuffer.clear();
}