《架構之美》中關於編寫高效Java的幾個技巧

《架構之美》中提到關於Java性能技巧:
1.優化的第一準則:不要優化。優化的第二準則(僅限於專家),還是不要優化。——Michael A Jackson
和所有的性能技巧一樣,下面的技巧是指導方針,不是準則。良好設計和清晰編碼的代碼幾乎總是優於“優化的”代碼。
技巧1.創建對象不好。過多的對象尤其是短期對象會導致不好的性能,因爲大量對象創建引起頻繁的年輕帶垃圾收集。
技巧2.靜態方法,不會動態分配,更容易產生內聯。
技巧3.標籤集適度緊湊的switch語句比分散的要快:switch使用兩種字節碼:tableswitch和lookupswitch,後者慢得多。
技巧4.方法越小越好,從設計(內聚性)和JIT兩方面考慮都是好的。
技巧5.Exception應該用於異常情況,而不是錯誤,VM會優化正常的路徑。
技巧6.小心使用裝飾器模式.額外間接開銷大。
技巧7.對類進行instanceof操作比接口的數組搜索快。
技巧8.最低程度的使用同步,把同步的塊減到最小,儘量使用volatile和原子引用。這和設計的思想一致。
技巧9.小心外部庫,簡單而重要的任務認真考慮內置編碼實現。

 

 

回顧07年關於高效率Java的文章,因爲JDK的發展從1.4到1.6,jvm的內部優化有了很多改進和變化,所以有些慣例已經不適用了,有些則可能反而導致性能不升反降。

建議參考《高質量JAVA程序設計》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章