導航:首頁 > 網路數據 > java處理list大數據

java處理list大數據

發布時間:2023-08-14 23:05:52

『壹』 java問題 有一個list有1W條數據, 現在我想用多線程不重復的讀取list中的數據,要怎麼寫

把讀取的方法寫成同步方法。然後起很多線程調用這個讀的方法去讀該list。

『貳』 Java中怎麼優化for循環遍歷list兩萬條數據

不要優化,只要顯示就好,一次弄10條之後,可以來一個action之後,記住前面的結果,再顯示出下10條。也就是說多接觸資料庫,但是每次卻只需要將10條插入list裡面。

『叄』 java語言,當list中數據量過大而產生java.lang.OutOfMemoryError: Java heap space。你們會怎麼做

1.設置虛擬機內存-xmax 500m
2.數據文件化保存。封裝一個新的類,然後把數據放入到本地文件中,需要時,按需讀取內容。(PS:效率可能不高)
3.使用其它緩存工具。比如memcached

『肆』 java怎麼像sql的where條件那樣處理list裡面的數據

public static void main(String[] args){
vo vo1 = new vo("張三",12,"武漢");
vo vo2 = new vo("李四",12,"武漢");
vo vo3 = new vo("王五",12,"北京");
List<vo> list = Arrays.asList(vo1,vo2,vo3);

//條件
vo vo4 = new vo("",null,"武漢");

if(vo4.getName() != null && !"".equals(vo4.getName())){
list = list.stream().filter(vo -> vo.getName().equals(vo4.getName()))
.collect(Collectors.toList());
}
if(vo4.getAge() != null){
list = list.stream().filter(vo -> vo.getAge().equals(vo4.getAge()))
.collect(Collectors.toList());
}
if(vo4.getCity() != null && !"".equals(vo4.getCity())){
list = list.stream().filter(vo -> vo.getCity().equals(vo4.getCity()))
.collect(Collectors.toList());
}

list.stream().forEach(vo -> {
System.out.println(vo);
});
}


『伍』 java 中 list集合中有幾十萬條數據,每100條為一組取出來如何實現,求代碼!!!

/**
* list中有150條數據,每次只拿20條數據,直到拿完所有數據
*/
List<String> urlList = new ArrayList<String>();
for (int i = 0; i < 150; i++) {
urlList.add(i+"");
}

for(int i = 0;i < urlList.size();i+=20){
List<String> param = new ArrayList<String>();//用戶存放每次獲取到的二十條數據
if( i + 20 < urlList.size()){
for (int j = i; j < i + 20; j++) {
param.add(urlList.get(j));
}
}else {
for (int j = i; j < urlList.size() ; j++) {
param.add(urlList.get(j));
}
}

System.out.println("每次獲取到的20條數據:" + param);
}

『陸』 java開發中能不能再一個方法里獲取list數據和總條數

java開發中可以在一個方法里獲取list數據和總條數,想要學習java開發推薦千鋒教育,多年來深耕java開發教育,深得殲散學子信賴。

想要掌握Java開發技術需要注意以下幾點:
一、首先,對於初學者來說一定不能盲目,要有自己的規劃,不然就是浪費時間白忙活。
二、既然是學習Java開發專業技術,建議是,一定要有一個能指導你的人,不能都靠自己閉門造車,這樣的行為並不聰明,結識一位這方面的人才,時不時去人家問題,不然你可能會發現一個小問題能困擾你一天,最後還不知道是什麼原因。
三、學習Java開發技術,不能跟學數學語文一樣對待,比較剛接觸代碼是不容易記住的,所以要掌握上述的技術,你還要知道學習Java開發技術有哪些「坑」。對旁掘於學習方法這塊氏啟氏是尤為重要的,怎麼學才能讓你學完了能記住之前學的那些,不至於學完了就忘,這個問題值得學習之前去思考的。
四、平時一定要養成好的學習習慣!把自己曾經遇到的問題整理在電腦的日記本上,然後搜集一下博客相關的Java技術文章,一些網站,以後都能用的上,如果想走的更遠,一定要養成習慣。

想要了解更多java開發的相關信息,推薦咨詢千鋒教育。千鋒勵精圖治,不改教育初心。十一年來,千鋒以政策為引導,不斷完善國內特色現代職業教育體系建設,充分發揮教研師資隊伍使命,構建品質教育,加大創新型人才培養力度,為經濟發展提供智力人才和智力支撐,成為新時期職業教育發展的新方向,在同行業中有很高的美譽度。

『柒』 java如何快速處理大數據

文件讀取:首先是一個文件上傳,數據入庫,10-200萬條不等,這里主要考慮到一次性讀取,JVM分配出來的棧內存不一定會夠(個人對內存這一塊還是處於一知半解的狀態,所以比較謹慎,若諸位大神有好的認知,希望評論留下地址分享一下),是依行讀取數據,設定一個批量值,當讀取的數據達到一定量之後,執行批量入庫操作,清空集合,再接著讀取。
//讀取文件內容
while((s = br.readLine())!=null){
//判斷是否達到單次處理量
if(num%leadingNum==0&&num!=0){
int a = stencDao.insertBatch(listBean);
if(a!=leadingNum){
flag = false;
}
//清空集合
listBean.clear();
}
String value = s.trim();
//將讀取到的內容放入集合中
if(!value.equals("")){
StencilCustomer bean = new StencilCustomer();
bean.setCustomerPhone(value);
bean.setLinkStencilId(id);
listBean.add(bean);
num ++;
}
}
數據處理:這里的思路也是將數據小化然後處理,這里使用了多線程,設定單個線程處理量,然後開啟多個線程處理,這里需要考慮你的伺服器的承載能力,如果線程開得太多了,處理不過來,會出現蹦死的情況。例如200萬數據,我開了20個線程,單個線程處理600條。
//建立一個線程池 ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
minTaskNumber, maxTaskNumber, 3L, TimeUnit.SECONDS,
new ArrayBlockingQueue<Runnable>(minTaskNumber),
new ThreadPoolExecutor.DiscardOldestPolicy());
//當正在執行的線程數達到最大執行線程數的時候等待
boolean flag = true;
while(flag){
Thread.sleep(1000);//休眠2ms查詢一次
int c = threadPool.getActiveCount();//線程池中活動中的線程數量
if(c<maxTaskNumber){
flag = false;
}
}
上面的代碼是我對線程池的一個控制,控制伺服器一直最大線程執行,Thread.sleep(1000);用while的時候,這個休眠最好不要去掉,去掉之後很影響執行效率

『捌』 問一個JAVA編程問題,要處理大數據,要速度快的話能不能不把它全部放到內存里啊

用一個隊列邊取邊處理, 每次取一部分數據。
list的大小無限制,只要不超過虛擬機內存就可以。

一般大型系統中,類似這種情況都是在資料庫中寫存儲過程解決的。

閱讀全文

與java處理list大數據相關的資料

熱點內容
c盤中的哪些是系統文件夾 瀏覽:668
分布式服務如何跨庫統計數據 瀏覽:829
力控轉發數據客戶端模式如何建立 瀏覽:200
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905
imgtool工具中文版 瀏覽:539

友情鏈接