java代碼優化

基礎

1.善用條件表達式,來表示通常的if,else。
if(a>0)  b=1;else  b=-1;   能夠直接寫成     b=(a>0?1:-1);
判斷常量,變量,字符串,表達式時,也能夠用switch()代替if,else。api

2.用foreach代替傳統的for循環。數組

3.可以封裝的操做,儘可能封裝起來,減小冗餘。多線程

4.類名用名詞命名,方法名用動詞或者動詞短語命名,返回boolean的方法用is開頭開命名app

5.儘可能避免大量的if else 嵌套。
6.if語句的代碼塊,最好用{},方便後續的代碼擴展。性能

7.大量的if esle嵌套,能夠經過多態或者枚舉去簡化
8.位運算(&,|,^,<<,>>)的效率比普通的運算高。線程

數組

1.數組arr排序能夠用Arrays.sort(arr);  
最小值min即爲arr[0],最大值max即爲arr[arr.length-1]
集合的排序能夠用Collections.sort(),重寫匿名Comparator對象的compare()方法,經過compareTo()比較。指針

字符串

1.鏈接字符串,儘可能用StringBuffer的append方法,而不是String相加。能夠節省內存,提升性能。對象

2."字符串".equals(變量);和 變量.equals("字符串");

最好選擇第一種方式比較,若是採用第二種方式比較,當變量爲null時,會報空指針異常.排序

集合

1.使用foreach遍歷list和set集合。內存


多線程

1.不要隨意地在代碼中新建線程,能夠經過線程池實現。

Lambeda

1.在處理數組、字符串和集合的遍歷、排序、取值等問題時,能夠使用Lambda表達式,Streams api。stream構造流,filter過濾元素,map按給定的運算規則轉換元素,forEach遍歷,reduce合併元素.待補充。

相關文章
相關標籤/搜索