java180
发布时间: 2025-08-16 14:28:52
A. java1.8Stream如何使用
这个叫stream流运算,是目前市场上比较流行的用法,效率会比较高,举几个例子吧:
常用的流
1、collect(Collectors.toList())
将流转换为list。还有toSet(),toMap()等。
这几个是我觉得在公司比较实用的,可以多练习,然后在看比较深的steamAPI。纯手打望采纳。
B. java:大量的数据(180万)从数据库读取时,要求一个字段最后面是不是‘甲乙丙丁。。。到癸
如果数据库侧不能操作的话,只能用java来操作了,
但是正常的一条数据,如果有30个列左右,java的list大概存2-4万就会出现内存溢出,推荐你先通过 select count(1) from 表 。。。查出有多少条,然后,把list控制在1万左右,我估计公安系统一般都是oracle吧,我之前做的公安也是oracle,那么你通过rownum进行数据分割。(如果是其他数据库也可以,sqlserver用top,mysql用limit,db2用rownumber() )
比如long count=你读出的总数,比如说是1,800,000条。
再来一个倍数,就是
long x=count/10000;
就可以知道循环和分页的数目
List data=null;
for(i=0,i<=x,i++){
...data=find("select .. where rownum>"+i*10000+" and rownum=<"+(i*10000+10000));
execute("update .....").
}
以上思路已经经过测试,并在项目中应用,肯定没问题,只是耗费的时间比较长,建议通过定时任务在后半夜去执行。
如果楼主觉得有用,给我加点分吧,5分有点太那个了。
热点内容