寫For時請三思再三思

2021-08-26 02:08:09 字數 668 閱讀 6812

昨天寫了這樣一段處理xml的**,處理系統返回的結果,最後居然導致系統死慢死慢的,我百思不得其解,到底是document類處理的問題呢?還是資料過多?

private void formatresults(condition condition) 

} catch (xpathexpressionexception e)

}

就這樣一段簡單的**~

最後終於。。請教了同事,一眼看出了問題

expr = xpath.compile("child::binding[@name='"

+ condition.patternpara + "']");

這一句是速度低的關鍵!!!!! 

原來是每進入迴圈一次,就執行一次xpath的編譯,這樣如何能不慢!!!

將其移除到迴圈外後,速度上去多了~

我想,在我的**中很可能還存在著很多類似的問題,每天不停的寫**,馬不停蹄的趕工。學生時代趕作業稀里糊塗完成功能的習慣沒有改掉。敲**的時候,更多的是一種習慣和經驗,這個應該這樣寫,應該那樣寫。作為乙個程式設計師,應該嚴謹一些,這種低階錯誤必須杜絕。以後寫迴圈的時候,一定要三思,記得迴圈的次數是不可控的,你寫一句它就有可能執行n次!

一定要養成良好的程式設計習慣,完成任務之餘多斟酌一下自己的**!

Helm 三思而後用

helm是kubernetes的包管理器。它可以大幅簡化發布過程,但有時候也會帶來問題。近日,helm已經正式提公升為頂級的cncf專案,並且在社群得到了廣泛的應用。這說明helm確實是個不錯的專案了,但我將和你分享我對於helm的一些思考。本文將說明我不相信那些大肆宣傳的原因。到現在我仍然不清楚h...

Helm 三思而後用

helm是kubernetes的包管理器。它可以大幅簡化發布過程,但有時候也會帶來問題。近日,helm已經正式提公升為頂級的cncf專案,並且在社群得到了廣泛的應用。這說明helm確實是個不錯的專案了,但我將和你分享我對於helm的一些思考。本文將說明我不相信那些大肆宣傳的原因。到現在我仍然不清楚h...

Helm 三思而後用

helm是kubernetes的包管理器。它可以大幅簡化發布過程,但有時候也會帶來問題。近日,helm已經正式提公升為頂級的cncf專案,並且在社群得到了廣泛的應用。這說明helm確實是個不錯的專案了,但我將和你分享我對於helm的一些思考。本文將說明我不相信那些大肆宣傳的原因。到現在我仍然不清楚h...