JAVA高效開發小技巧總結(這是一位同事的分享,感謝)__JAVA

來源:互聯網
上載者:User

1.以下兩種for迴圈

這一種迴圈,會額外建立一個迭代器,然後遍曆值。當遇到鏈表、Hashmap表時,用它速度很快。因為這樣不需要通過遍曆整個集合尋找元素。

for(String str : list){}


這一種迴圈,不用建立迭代器,當遇到數組、ArrayList時,用它速度最快,節省建立迭代器時間。如果遇到鏈表、HashMap則每一個都必須通過遍曆整個集合來尋找元素,時間複雜度立馬上升。

int len=list.size();for(int i=0;i<len;i++){    String str=list[i];}

2.反轉字串,用它速度最快

public String get(){String str = "dddddd";return new StringBuilder(str).reverse().toString();}
3.在try catch中要加finally,釋放一些特殊的操作

(1)檔案流操作,不釋放的話容易導致流溢出。

(2)解鎖問題

4.HashMap在建立時,最好預估一下大小。因為HashMap會在放不下時做重新整理,這時,會將小的haspMap拷貝一份給更大的haspMap.

預估大小,這樣可以滿足大部分情境,如果大小仍然超出了該怎麼辦。

5.字串的不可變性,不用再說了,前面總結過

6.單引號和雙引號是有區別的

7.java中建立對象的確很昂貴。不要隨便亂建對象。

從效率上講,越少越好。可是總是有那麼多的大包,如果碰到效能瓶頸,那麼這個方法就是一個出路。

從物件導向的角度看,我覺得,如果效能不是瓶頸,領域模型的設計,還有邏輯清晰、容易理解也許更重要。需要視情況而定。






聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.