项目中有一个计划任务,每天下午俩点将周六日设为休息,数据有7w+条,执行时是批量插入的,执行之后直接堆内存溢出。看了一些方法,基本上都是改启动配置,但是服务器内存一共只有8G,所有微服务启动后只剩下不到600M了,所以这个方法不适用。
解决方法:分批次插入
import com.google.common.collect.Lists;
if(clockList != null && clockList.size() > 0){
List<List<Clock>> partition = Lists.partition(clockList, 300);
for (List<Clock> list : partition) {
clockMapper.addBatch(list);
}
}