如何優(yōu)化Java代碼的執(zhí)行效率
1、盡量指定類的final修飾符帶有final修飾符的類是不可派生的;
在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String。為String類指定final防止了人們覆蓋length()方法。另外,如果指定一個(gè)類為final,則該類所有的方法都是final。Java編譯器會(huì)尋找機(jī)會(huì)內(nèi)聯(lián)(inline)所有的final方法(這和具體的編譯器實(shí)現(xiàn)有關(guān))。此舉能夠使性能平均提高50% 。
2、在使用同步機(jī)制時(shí),應(yīng)盡量使用方法同步代替代碼塊同步;
同步方法使用synchronized修飾方法,在調(diào)用該方法前,需要獲得內(nèi)置鎖(java每個(gè)對(duì)象都有一個(gè)內(nèi)置鎖),否則就處于阻塞狀態(tài)
代碼如:
public synchronized void save(){ //內(nèi)容 }
同步代碼塊使用synchronized(object){}進(jìn)行修飾,在調(diào)用該代碼塊時(shí),需要獲得內(nèi)置鎖,否則就處于阻塞狀態(tài)
代碼如:
synchronized(object){ //內(nèi)容 }
3、不要在循環(huán)中捕獲異常;
Try { } catch() { }
應(yīng)把其放置在最外層。
推薦教程:《PHP教程》