1)盡量指定類、方法的final修飾符。帶有final修飾符的類是不可派生的,Java編譯器會尋找機會內(nèi)聯(lián)所有的final方法,內(nèi)聯(lián)對于提升Java運行效率作用重大,此舉能夠使性能平均提高50%。
創(chuàng)新互聯(lián)-云計算及IDC服務(wù)提供商,涵蓋公有云、IDC機房租用、服務(wù)器托管、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),咨詢熱線:18980820575
2)盡量重用對象。由于Java虛擬機不僅要花時間生成對象,以后可能還需要花時間對這些對象進行垃圾回收和處理,因此生成過多的對象將會給程序的性能帶來很大的影響。
3)盡可能使用局部變量。調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧中速度較快,其他變量,如靜態(tài)變量、實例變量等,都在堆中創(chuàng)建速度較慢。
4)慎用異常。異常對性能不利,只要有異常被拋出,Java虛擬機就必須調(diào)整調(diào)用堆棧,因為在處理過程中創(chuàng)建了一個新的對象。異常只能用于錯誤處理,不應(yīng)該用來控制程序流程。
5)乘法和除法使用移位操作。用移位操作可以極大地提高性能,因為在計算機底層,對位的操作是最方便、最快的,但是移位操作雖然快,可能會使代碼不太好理解,因此最好加上相應(yīng)的注釋。
6)盡量使用HashMap、ArrayList、StringBuilder,除非線程安全需要,否則不推薦使用 Hashtable、Vector、StringBuffer,后三者由于使用同步機制而導(dǎo)致了性能開銷。
盡量在合適的場合使用單例。使用單例可以減輕加載的負(fù)擔(dān)、縮短加載的時間、提高加載的效率,但并不是所有地方都適用于單例。
重新寫個方法,把你選中的放進去,用到的時候調(diào)用下就好,重寫寫的方法最好是static修飾的,這樣就能直接用類名調(diào)用了,比如
public class A{
public static void b(){
//這里放你那些代碼
}
}
以后要用的話就是A.b()就可以用了
原因是你編譯使用的javac,把代碼編譯成版本61的class,而你的運行環(huán)境java,是一個老版本,能執(zhí)行的上限是52版本。
解決方法有兩個:
1,安裝和JDK相同版本的Java運行時(JRE),并正確設(shè)置PATH變量。驗證方法是:
在黑窗口里分別輸入java -version和javac -version,兩個版本要一致,或者java的版本更高。
相關(guān)命令截圖如下:
2,編譯的時候指定運行時的版本:使用--release參數(shù)指定版本。
例如,你通過 java -version查看到版本=8,那么就按如圖的命令編譯