Java代碼優化

1:   利用方法的重構,經過參數控制調用的方法,避免編寫重複的代碼。併發

2:  選擇合適的集合容器,存放數據並快速取值,就用ArrayList。要屢次對集合添加,移除就用 LinkedList。若是是鍵值對,就用 HashMap。通常 HashTable 不會去用,由於併發較少,並且 HashTable 性能較低(無論什麼操做都要 同步,性能高才怪。),就算要用併發類型的Map,也有 ConcurrentHashMap 能夠選擇,這個 集合類 在作同步的時候只是鎖住集合類的一部分。性能

3:    若事先已經知道所需集合類的大小,那就在定義的時候就給定集合大小,通常都是進行擴容,這是個很消耗性能的操做,若是一開始就給定了大小,避免了沒必要要的操做,提升性能。例如 ArrayList 在擴容的時候,會去開闢一塊新的內存空間 ,大小爲 size/2*3+1 ,而後再把原先集合中的數據拷貝到新集合中。還有 HashMap,擴容以後要對把類中的數據從新安放位置,在這期間,又是 對 key進行hash值計算,有時還要桶碰撞,又是 key 的比較,至關浪費。內存

4:    方法的封裝,提升代碼的可用性,重複使用。同步

相關文章
相關標籤/搜索