回覆列表
-
1 # 千鋒頭號粉絲
-
2 # ACME63610374577
升級配置或者換機器就行了...
...
你要思考一個問題....
一個Java程式設計師一個月的人工成本是多少...
最低也得2萬吧...
...
加4G記憶體多少錢?
多2個核多少錢?
也就1000多元吧...
加上升級帶來的整個系統的提升...
平均到你這裡的成本也就幾百元...
...
作為程式設計師你不需要考慮最佳化問題...
你最佳化程式碼就是在浪費老闆的錢...
...
速度不夠升級硬體...
這就是為什麼Java可以成為主流語言的原因...
...
-
3 # 金融行業技術人員
談到執行效率,就不得不提到演算法,好的演算法可以大大提高程式執行的效率,也是最主要的最佳化方式,包括正確處理迴圈,空間換時間,動態規劃等,對於啟發式演算法,好的剪枝策略能有效提高程式執行效率。避免遞迴,儘量使用非遞迴演算法等等演算法的最佳化。
最佳化jvm虛擬機器,在執行程式碼前,根據執行場景,業務邏輯等,自定義JVM的執行引數,包括垃圾回收策略等。
對於效能要求很高,低延遲的需求,一定要對垃圾回收GC做比較充足的準備,使用合適的垃圾回收策略。
另外,很多第三方可以對java虛擬機器做更專業的最佳化,比如Azul Zing,對於JVM垃圾回收的最佳化做的很專業和到位。當然,這是收費的。
程式碼最佳化是對程式程式碼進行交換,以實現精簡程式碼、清除程式碼垃圾的目的。有很多新手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)儘量在合適的場合使用單例。使用單例可以減輕載入的負擔、縮短載入的時間、提高載入的效率,但並不是所有地方都適用於單例。