Java學習之程式碼優化
Java學習之程式碼優化,程式碼優化,程式設計師必須懂得一門學問,簡潔漂亮的程式碼給人的感覺就像如沐清風,一堆垃圾的程式碼給人的感覺就像吃了翔一樣的難受。所以不管是程式設計師還是準程式設計師,養成良好的程式碼優化習慣都是必須要養成的。Java以專業性和強大的規範性獨受企業青睞!別讓別人看見你的程式碼第一時間想到的是刪了從寫而不是程式碼優化。
首先,我們要搞清楚優化程式碼的目的。
減小程式碼的體積;提高程式碼執行的效率;程式碼優化具體細節(只說Java的,小編就是Java程式設計師)。
1.儘量指定類、方法的final修飾符。
Java編譯器會尋找機會內聯所有的final方法,內聯對於提升Java執行效率作用重大,具體參見Java執行期優化。此舉大概能2.夠使效能平均提高50%。
3.儘量重用物件特別是String物件的使用,出現字串連線時應該使用StringBuilder/StringBuffer代替。
4.儘可能使用區域性變數。
5.及時關閉流:進行資料庫連線、I/O流操作,在使用完畢後,及時關閉以釋放資源。
6.儘量減少對變數的重複計算:明確一個概念,對方法的呼叫,即使方法中只有一句語句,也是有消耗的,包括建立棧幀、呼叫方法時保護現場、呼叫方法完畢時恢復現場等。
7.儘量採用懶載入的策略,即在需要的時候才建立。
8.慎用異常
異常對效能不利。丟擲異常首先要建立一個新的物件,Throwable介面的建構函式呼叫名為fillInStackTrace()的本地同步方法,fillInStackTrace()方法檢查堆疊,收集呼叫跟蹤資訊。只要有異常被丟擲,Java虛擬機器就必須調整呼叫堆疊,因為在處理過程中建立了一個新的物件。異常只能用於錯誤處理,不應該用來控制程式流程。
9.不要在迴圈中使用try…catch…,應該把其放在最外層。
10.如果能估計到待新增的內容長度,為底層以陣列方式實現的集合、工具類指定初始長度。
11.當複製大量資料時,使用System.arraycopy()命令。
12.乘法和除法使用移位操作:移位操作雖然快,但是可能會使程式碼不太好理解,因此zuihao加上相應的註釋。
13.迴圈內不要不斷建立物件引用。
14.基於效率和型別檢查的考慮,應該儘可能使用array,無法確定陣列大小時才使用ArrayList。
15.儘量使用HashMap、ArrayList、StringBuilder,除非執行緒安全需要,否則不推薦使用Hashtable、Vector、StringBuffer,後三者由於使用同步機制而導致了效能開銷。
16.不要將陣列宣告為public static final。
學習就像逆水行舟,學習Java更是這樣,畢竟Java已經雄踞程式語言排行diyi已經十幾年了,但正是這十幾年,也使得Java各方
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015609/viewspace-2883520/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java學習之程式碼最佳化Java
- Java程式碼優化Java優化
- 《java學習三》jvm效能優化-------調優JavaJVM優化
- java原始碼學習之EnumJava原始碼
- Java程式碼優化(長期更新)Java優化
- MySQL優化學習筆記之索引MySql優化筆記索引
- MySQL優化學習筆記之explainMySql優化筆記AI
- 案例分析之JavaScript程式碼優化JavaScript優化
- Java程式碼編寫、程式碼優化技巧總結Java優化
- 《java學習三》jvm效能優化------jconsulJavaJVM優化
- Android學習之 UI佈局優化AndroidUI優化
- (資料科學學習手札92)利用query()與eval()優化pandas程式碼資料科學優化
- 《java學習二》jvm效能優化-----認識jvmJavaJVM優化
- 學習 Java 之 位元組碼驗證Java
- Effective Java -- 使用try-with-resources優化程式碼Java優化
- java程式碼編寫優化(持續更新...)Java優化
- 35 個 Java 程式碼效能優化總結Java優化
- Android開發優化之——從程式碼角度進行優化Android優化
- jmeter學習指南之Beanshell 呼叫 java 程式碼的三種方式JMeterBeanJava
- 程式碼優化優化
- java學習之路----java類庫---程式國際化Java
- Python學習之如何簡化程式碼?六大技巧!Python
- Java學習之AWT GUI程式設計JavaGUI程式設計
- 【程式碼優化】Bean對映之MapStruct優化BeanStruct
- CUDA程式優化心得之序列優化優化
- 向優秀程式碼學習:Redis 原始碼概覽Redis原始碼
- 如何學習用Java編寫程式碼?Java
- Python程式碼微優化之加快查詢Python優化
- Android 配置 Ant 指令碼之程式碼混淆和優化Android指令碼優化
- Java學習之Swing Gui程式設計JavaGUI程式設計
- javaScript程式碼優化JavaScript優化
- Java學習之介面Java
- webpack--效能優化之打包構建速度和程式碼除錯優化Web優化除錯
- 【強化學習】強化學習的基本概念與程式碼實現強化學習
- 優化If else(簡化程式碼)優化
- Java學習之7種排序演算法的完整例項程式碼Java排序演算法
- Android效能優化——程式碼優化(一)Android優化
- 持續學習-儲存優化之Protobuffer使用與原理優化