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分有點太那個了。
熱點內容