前言
不用说也知道,一次性读取出那么大的数据是疯了吗,虚拟机能承受的聊那么大的对象吗?,所以我们需要分批进行读取。
下面是使用fenduan 每1万条进行一次读取执行
1、传入总数和每多少进行分段 制作为map
package com.duodian.youhui.admin.utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.TreeMap;
@Service
@Slf4j
public class JavaHeapSpaceUtilsForCouponGood {
/**
* @Desc: 传入总数和每多少进行分段
* @Date: 2018/8/28 下午1:36.
*/
public static TreeMap<Long,Long> getStartIdAndEndId(Long count, Long fenduan){
TreeMap<Long,Long> map = new TreeMap();
Long num = count / fenduan;
Long yushu = count % fenduan;
for (int i = 1; i <= num; i++) {
map.put((i - 1) * fenduan + 1, i * fenduan);
}
Long yushufinal = num * fenduan + yushu;
map.put(num * fenduan + 1, yushufinal);