分割成小段

JDK 8 版本 示例代码

/**

Details determine success. by Liang ZC., Phd@Stanford @author LIANGZHICHENG @date 2019-8-9 18:03 @see http://www.stanford.edu

*/

public class TestUtils {

@Autowired

private SimilarMapper similarMapper;

/**

对列表分批执行指定函数。 @param items 待处理列表 @param batchSize 批量处理数 @param consumer 处理函数 @param 处理类型

*/

public static void batchDo(List items,

int batchSize,

Consumer consumer) {

Preconditions.checkState(batchSize > 1, “batch should be greater than 1”);

if (CollectionUtils.isEmpty(items) || consumer == null) {

return;

}

List group = ListUtils.partition(items, batchSize);

group.forEach(consumer);

}

@Test

public void testBatchDo() {

List ids = new ArrayList<>();

for (int i = 0; i < 1000; i++) {

ids.add(i);

}

// 分批执行,每批次取100条

LangUtil.batchDo(ids, 100, batchIds -> {

similarMapper.update(batchIds);

});

}

}

JDK 7 版本

@Autowired

private ChPeriodicalThesisMapper thesisDao;

//其他CRUD…

/**

. TODO 批量插入 @param thesisList @return @throws Exception

*/

public int insertList(List thesisList) throws Exception {

return thesisDao.insertList(thesisList);

}

/**

. TODO 递归:分割长List为 subNum/段。 @param thesisList 论文list(总) @param subNum 每段长度 (最小1) @return @throws Exception

*/

private int recurSub(List thesisList,int subNum) throws Exception{

//参数合法性判断:

if(thesisList.isEmpty()) return 0;

if(subNum<1) return 0;

//大于subNum,进入分割

if(thesisList.size() > subNum) {// && !(thesisList.isEmpty())

//将前subNum分出来,直接插入到数据库。

List toInsert = thesisList.subList(0, subNum);

//将subNum至最后 (剩余部分) 继续进行递归分割

List toRecurSub = thesisList.subList(subNum, thesisList.size()); 自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

总结

面试前的“练手”还是很重要的,所以开始面试之前一定要准备好啊,不然也是耽搁面试官和自己的时间。

我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

面试题及解析总结

大厂面试场景

知识点总结

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取! 54818)]

大厂面试场景

[外链图片转存中…(img-n7aUjDl5-1713348554818)]

知识点总结

[外链图片转存中…(img-tswBYueg-1713348554819)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

精彩内容

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。