java 批量处理_Java模拟数据量过大时批量处理数据的两种实现方法
方法一:
代码如下:
import java.util.ArrayList;
import java.util.List;
/**
* 模拟批量处理数据(一)
* 当数据量过大过多导致超时等问题可以将数据进行分批处理
* @author 【】
*
*/
public class BatchUtil2 {
public static void listBatchUtil(List lists) {
System.out.println(lists);
System.out.println(lists.size());
int temp = 1;
for (int i = 0; i < lists.size(); i += 10) {
System.out.println("======================进行第" + temp + "次批处理=======================");
if (lists.size() - i > 10) {
System.out.println(lists.subList(i, i + 10).toString());
} else {
if (lists.size() > i) {
System.out.println(lists.subList(i, lists.size()).toString());
}
}
temp += 1;
}
}
public static void main(String[] args) {
List lists = new ArrayList<>();
for (int i = 1; i <= 26; i++) {
lists.add(i);
}
listBatchUtil(lists);
}
}
实现效果:
方法二:
代码如下:
import java.util.ArrayList;
import java.util.List;
/**
* 模拟批量处理数据(二)
* 当数据量过大过多导致超时等问题可以将数据进行分批处理
* @author 【】
*
*/
public class BatchUtil {
public static void listBatchUtil(List lists) {
System.out.println(lists);
// 定义批处理的数据数量(即批处理条件)
int num = 10;
// 判断集合数量,如果小于等于定义的数量(即未达到批处理条件),直接进行处理
if (lists.size() <= num) {
System.out.println(lists.size());
System.out.println(lists.toString().substring(1, lists.toString().lastIndexOf("]")));
return;
}
// 如果大于定义的数量,按定义数量进行批处理
int times = lists.size()/num + 1;
System.out.println("一共要进行"+times+"次批处理");
// 遍历分批处理次数,并进行批处理
for (int i = 0; i < times; i++) {
// 定义要进行批处理的临时集合
List tempList = new ArrayList<>();
// 将要批处理数据放入临时集合中
for (int j = i*num; j < lists.size(); j++) {
tempList.add(lists.get(j));
if (tempList.size() == num) {
break;
}
}
// 进行批处理
System.out.println("======================进行第"+(i+1)+"次批处理=======================");
System.out.println(tempList.size());
System.out.println(tempList.toString().substring(1, tempList.toString().lastIndexOf("]")));
System.out.println("=========================================================");
}
}
public static void main(String[] args) {
List lists = new ArrayList<>();
for (int i = 1; i <= 26; i++) {
lists.add(i);
}
listBatchUtil(lists);
}
}
实现效果:
java 批量处理_Java模拟数据量过大时批量处理数据的两种实现方法相关推荐
- R语言使用hexbin包的hexbin函数可视化散点图、应对数据量太大、且有数据重叠的情况、普通散点图可视化效果变差的情况、提供了对六边形单元格的二元绑定、通过图例颜色标定每一个区域数据点的数量
R语言使用hexbin包的hexbin函数可视化散点图.应对数据量太大.且有数据重叠的情况.普通散点图可视化效果变差的情况.hexbin函数提供了对六边形单元格的二元绑定.通过图例颜色标定每一个区域数 ...
- bootstrap 树形表格渲染慢_bootstrap-table-treegrid数据量较大时渲染太久了
bootstrap-table-treegrid数据量较大时渲染太久了 森姐姐 2019-10-23 16:48:51 2260 收藏 2 分类专栏: 遇到的问题 最后发布:2019-10-23 16 ...
- 两组数据量相对大时,如何高效进行比对
前言 前阵子项目因业务需要,要对接兄弟部门的用户数据,因为兄弟部门并不提供增量用户数据接口,每次只能从兄弟部门那边同步全量用户数据.全量的用户数据大概有几万条.因为是全量数据,因此我们这边要做数据比对 ...
- 海量数据(数据量比较大时)的处理分析
转载http://www.blogjava.net/lcs/archive/2008/02/18/180396.html 海量数据处理问题是一项艰巨而复杂的任务.原因有以下几个方面: 一.数据量过大, ...
- 数据量过大时数据库操作的处理
一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量.那么,如何实现快速地从这些 超大容量的数据库中提取数据(查询).分析.统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理 ...
- 数据量很大的排序问题 大量数据如何排序
某天参加阿里面试,技术面的时候,面试官问了排序问题: 问题一:若有1T的数据,比如 只有两列,身份证号和姓名 需要实现由大到小排序,你用什么办法,能否做到 复杂度为O(n),说说你的思路和想法? 问题 ...
- 数据量很大的排序问题 大量数据如何排序,没有做测试
问题一:若有1T的数据,比如 只有两列,身份证号和姓名 需要实现由大到小排序,你用什么办法,能否做到 复杂度为O(n),说说你的思路和想法? 问题二:有10个G的数据,也是一样,比如两列,身份证号和姓 ...
- 第9条:用生成器表达式来改写数据量较大的列表推导式
核心知识点: (1)当输入的数据量较大时,列表推导可能会因为占用太多内存而出问题. (2)由生成器表达式所返回的迭代器,可以逐次产生输出值,从而避免内存用量问题. (3)把某个生成器表达式所返回的迭代 ...
- for循环数据量太大_中文文本分类roberta大力出奇迹之数据量大的问题
问题描述: 笔者在文本分类场景中使用了roberta+pool+dense的三分类模型.采用预训练模型做项目的时候经常苦于数据太少,模型泛化性差,因此收集了1300W数据.在我尝试暴力出奇迹的时候,遇 ...
最新文章
- 设计模式学习(一)——策略模式
- 庆祝开博第一天!呵呵!
- 一个例子理解什么是RPC?
- EasyUI中Numberbox的简单使用
- 如何在云服务器上安装vim(bash: vim :command not found)
- OpenGL ES之Swift使用GLSL语言渲染图片的显示
- 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义
- 两个栈实现一个队列/两个队列实现一个栈
- python——rang函数、for、braek循环
- Android睡眠唤醒机制--Kernel态
- .net5 不支持winform_昨晚实操一波.NET5,极致性能简直逆天!
- a的n次方的快速算法及大数相乘
- 随机信号分析基础——基础篇(数字特征)
- Python版蚊子大作战源代码,超解压的灭蚊小游戏,多种道具
- 实现微信朋友圈下拉刷新的思路
- 面试:Android应用的崩溃率
- 路过秋天版博客 V2.0 正式版发布 增加后台管理系统[支持多语言、多用户、多数据库、目录级URL]
- 负载均衡器ribbon和LoadBalancer
- windows域名解析服务器地址,Win10打开提示无法解析服务器DNS如何解决
- 怎样判断小红书被限流?小红书被限流有这几大表现
热门文章
- 网络连接打印机故障一例(交换机与路由器级联问题)
- 易语言单窗口单ip教程_金蝶K/3ERP系统应用教程:生产任务单的改制简易操作流程...
- python微博涨粉_爬取微博用户公开信息,分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!...
- HTML怎么在矩形上画直线,【绘制】HTML5 Canvas 绘画画板,实现鼠标画线条,画矩形或选区(图文、示例)...
- matlab中坐标轴标注和特殊字体
- 错误提示「URL file-access is disabled in the server configuration」解决方案
- java计算机毕业设计物品分享网站源码+lw文档+系统+数据库
- 自创打油诗【我是程序猿】 --作者:君君
- 万能表单解析工具在xheditor上传文件中的应用
- 【QA那些事儿】视频SDK测试介绍