鄭州北大青鳥技術(shù)老師講解java編程中應(yīng)寫好的幾點(diǎn)
在我們寫程序,編代碼的時候,很多人過于隨意化這對于程序員本身并不是一個好現(xiàn)象,下面鄭州北大青鳥技術(shù)老師就跟大家分享下在做java編程的時候應(yīng)做好的一下幾點(diǎn)。
1. ArrayList & LinkedList
一個是線性表,一個是鏈表,一句話,隨機(jī)查詢盡量使用ArrayList,ArrayList優(yōu)于LinkedList,LinkedList還要移動指 針,添加刪除的操作LinkedList優(yōu)于ArrayList,ArrayList還要移動數(shù)據(jù),不過這是理論性分析,事實(shí)未必如此,重要的是理解好2 者得數(shù)據(jù)結(jié)構(gòu),對癥下藥。
2. 盡量不要使用finalize方法
實(shí)際上,將資源清理放在finalize方法中完成是非常不好的選擇,由于GC的工作量很大,尤其是回收Young代內(nèi)存時,大都會引起應(yīng)用程序暫停,所以再選擇使用finalize方法進(jìn)行資源清理,會導(dǎo)致GC負(fù)擔(dān)更大,程序運(yùn)行效率更差。
3. 盡量使用final修飾符
帶有final修飾符的類是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String.為String類指定final防止了使用者覆蓋length()方法。另外,如果一個類是final的,則該類所有方法都是final的。Java編譯器會尋找機(jī)會內(nèi)聯(lián)(inline)所有的final方法(這和具體的編譯器實(shí)現(xiàn)有關(guān))。此舉能夠使性能平均提高50%.
4. 盡量避免使用split
除非是必須的,否則應(yīng)該避免使用split,split由于支持正則表達(dá)式,所以效率比較低,如果是頻繁的幾十,幾百萬的調(diào)用將會耗費(fèi)大量資源,如果確實(shí)需 要頻繁的調(diào)用split,可以考慮使用apache的StringUtils.split(string,char),頻繁split的可以緩存結(jié)果。
5. 盡量使用移位來代替'a/b'的操作
"/"是一個代價很高的操作,使用移位的操作將會更快和更有效如int num = a / 4; int num = a / 8; 應(yīng)該改為int num = a 》2; int num = a 》3; 但注意的是使用移位應(yīng)添加注釋,因?yàn)橐莆徊僮鞑恢庇^,比較難理解調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量、實(shí)例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。
6. 慎用synchronized,盡量減小synchronize的方法
都知道,實(shí)現(xiàn)同步是要很大的系統(tǒng)開銷作為代價的,甚至可能造成死鎖,所以盡量避免無謂的同步控制。synchronize方法被調(diào)用時,直接會把當(dāng)前對象鎖 了,在方法執(zhí)行完之前其他線程無法調(diào)用當(dāng)前對象的其他方法。所以synchronize的方法盡量小,并且應(yīng)盡量使用方法同步代替代碼塊同步。
更多相關(guān)java編程方面文章可訪問:http:///
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問題,可以對在線咨詢老師進(jìn)行一對一問答!
推薦資訊
- 現(xiàn)在初中畢業(yè)的男生學(xué)什么專業(yè)好... 2013-06-17
- 鄭州北大青鳥翔天信鴿信鴿國學(xué)禮... 2023-06-14
- 移動應(yīng)用開發(fā)工程師... 2013-12-05
- 北大青鳥,因?yàn)閷R,所以出?.. 2013-01-31
- 讀北大青鳥,輕輕松松拿高薪... 2013-01-18
熱點(diǎn)資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個策略及簡單的防護(hù)方法... 2018-09-07
- 對硬盤進(jìn)行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個簡單方法... 2018-09-07
- 計算機(jī)小技巧,80G硬盤巧變變成... 2018-09-07