java内存 取出大数据导入新表
最近写了一段代码,把数据库中老表中的记录导入到新表中,中间涉及到计算处理等步骤。
开始代码:
1.取出所有的sessionid放入ArrayList中(可能巨大无比)
2.遍历List,每个sessionid去两个表中取得某此聊天的记录,计算后,把新的数据保存到
新表中。
1100条数据后,内存不足。
第一次解决:
1.取每天的sessionid放入ArrayList中,问题仍然存在,然后想到Jvm不确定的回收内存,
则只要放到ArrayList中,问题就会存在。
第二次解决:
1.取出的sessionid,直接计算保存新表中,完全干掉ArrayList.
2.监控内存------OK!