程式碼最佳化是對程式程式碼進行交換,以實現精簡程式碼、清除程式碼垃圾的目的。有很多新手Java程式設計師想知道程式碼最佳化的方法有哪些,還有很多想要轉行學Java的同學想知道2020年學Java就業前景如何,接下來就給大家簡單分析一下。
Java程式碼最佳化的方法有哪些?
1)儘量指定類、方法的final修飾符。帶有final修飾符的類是不可派生的,Java編譯器會尋找機會內聯所有的final方法,內聯對於提升Java執行效率作用重大,此舉能夠使效能平均提高50%。
2)儘量重用物件。由於Java虛擬機器不僅要花時間生成物件,以後可能還需要花時間對這些物件進行垃圾回收和處理,因此生成過多的物件將會給程式的效能帶來很大的影響。
3)儘可能使用區域性變數。呼叫方法時傳遞的引數以及在呼叫中建立的臨時變數都儲存在棧中速度較快,其他變數,如靜態變數、例項變數等,都在堆中建立速度較慢。
4)慎用異常。異常對效能不利,只要有異常被丟擲,Java虛擬機器就必須調整呼叫堆疊,因為在處理過程中建立了一個新的物件。異常只能用於錯誤處理,不應該用來控制程式流程。
5)乘法和除法使用移位操作。用移位操作可以極大地提高效能,因為在計算機底層,對位的操作是最方便、最快的,但是移位操作雖然快,可能會使程式碼不太好理解,因此最好加上相應的註釋。
6)儘量使用HashMap、ArrayList、StringBuilder,除非執行緒安全需要,否則不推薦使用 Hashtable、Vector、StringBuffer,後三者由於使用同步機制而導致了效能開銷。
7)儘量在合適的場合使用單例。使用單例可以減輕載入的負擔、縮短載入的時間、提高載入的效率,但並不是所有地方都適用於單例。
程式碼最佳化是對程式程式碼進行交換,以實現精簡程式碼、清除程式碼垃圾的目的。有很多新手Java程式設計師想知道程式碼最佳化的方法有哪些,還有很多想要轉行學Java的同學想知道2020年學Java就業前景如何,接下來就給大家簡單分析一下。
Java程式碼最佳化的方法有哪些?
1)儘量指定類、方法的final修飾符。帶有final修飾符的類是不可派生的,Java編譯器會尋找機會內聯所有的final方法,內聯對於提升Java執行效率作用重大,此舉能夠使效能平均提高50%。
2)儘量重用物件。由於Java虛擬機器不僅要花時間生成物件,以後可能還需要花時間對這些物件進行垃圾回收和處理,因此生成過多的物件將會給程式的效能帶來很大的影響。
3)儘可能使用區域性變數。呼叫方法時傳遞的引數以及在呼叫中建立的臨時變數都儲存在棧中速度較快,其他變數,如靜態變數、例項變數等,都在堆中建立速度較慢。
4)慎用異常。異常對效能不利,只要有異常被丟擲,Java虛擬機器就必須調整呼叫堆疊,因為在處理過程中建立了一個新的物件。異常只能用於錯誤處理,不應該用來控制程式流程。
5)乘法和除法使用移位操作。用移位操作可以極大地提高效能,因為在計算機底層,對位的操作是最方便、最快的,但是移位操作雖然快,可能會使程式碼不太好理解,因此最好加上相應的註釋。
6)儘量使用HashMap、ArrayList、StringBuilder,除非執行緒安全需要,否則不推薦使用 Hashtable、Vector、StringBuffer,後三者由於使用同步機制而導致了效能開銷。
7)儘量在合適的場合使用單例。使用單例可以減輕載入的負擔、縮短載入的時間、提高載入的效率,但並不是所有地方都適用於單例。