java内存 取出大数据导入新表

本文介绍了一个内存管理的问题案例:在从旧表导入数据到新表的过程中遇到内存溢出问题,并逐步优化解决方案的过程。从最初尝试使用ArrayList存储数据导致内存不足,到最后通过直接计算并保存数据到新表中成功解决了内存溢出问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写了一段代码,把数据库中老表中的记录导入到新表中,中间涉及到计算处理等步骤。

开始代码:
1.取出所有的sessionid放入ArrayList中(可能巨大无比)
2.遍历List,每个sessionid去两个表中取得某此聊天的记录,计算后,把新的数据保存到
新表中。

1100条数据后,内存不足。


第一次解决:
1.取每天的sessionid放入ArrayList中,问题仍然存在,然后想到Jvm不确定的回收内存,
则只要放到ArrayList中,问题就会存在。


第二次解决:
1.取出的sessionid,直接计算保存新表中,完全干掉ArrayList.
2.监控内存------OK!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值