这些Java代码优化细节,你需要注意!
很多學(xué)習(xí)Java的人都知道,Java程序員是離不開反反復(fù)復(fù)敲打代碼的!不斷去優(yōu)化代碼,也就意味著能夠更進(jìn)一步的提高代碼運(yùn)行的效率。那么,代碼優(yōu)化有哪些細(xì)節(jié)需要注意呢?就讓小千為大家簡單講解,希望對想要掌握J(rèn)ava知識點的學(xué)員有所幫助!
1、盡量指定類、方法的final修飾符
帶有final修飾符的類是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如Java.lang.String,整個類都是final的。為類指定final修飾符可以讓類不可以被繼承,為方法指定final修飾符可以讓方法不可以被重寫。如果指定了一個類為final,則該類所有的方法都是final的。Java編譯器會尋找機(jī)會內(nèi)聯(lián)所有的final方法,內(nèi)聯(lián)對于提升Java運(yùn)行效率作用重大,具體參見Java運(yùn)行期優(yōu)化。此舉能夠使性能平均提高50%。
2、盡量重用對象
特別是String對象的使用,出現(xiàn)字符串連接時應(yīng)該使用StringBuilder/StringBuffer代替。由于Java虛擬機(jī)不僅要花時間生成對象,以后可能還需要花時間對這些對象進(jìn)行垃圾回收和處理,因此,生成過多的對象將會給程序的性能帶來很大的影響。
3、盡可能使用局部變量
調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧中速度較快,其他變量,如靜態(tài)變量、實例變量等,都在堆中創(chuàng)建,速度較慢。另外,棧中創(chuàng)建的變量,隨著方法的運(yùn)行結(jié)束,這些內(nèi)容就沒了,不需要額外的垃圾回收。
4、及時關(guān)閉流
Java編程過程中,進(jìn)行數(shù)據(jù)庫連接、I/O流操作時務(wù)必小心,在使用完畢后,及時關(guān)閉以釋放資源。因為對這些大對象的操作會造成系統(tǒng)大的開銷,稍有不慎,將會導(dǎo)致嚴(yán)重的后果。
5.使用同步代碼塊替代同步方法
這點在多線程模塊中的synchronized鎖方法塊一文中已經(jīng)講得很清楚了,除非能確定一整個方法都是需要進(jìn)行同步的,否則盡量使用同步代碼塊,避免對那些不需要進(jìn)行同步的代碼也進(jìn)行了同步,影響了代碼執(zhí)行效率。
說起來,Java作為編程語言界的“老大哥”,隨著時代發(fā)展也在不斷的更新。而我們既然想要走進(jìn)Java,就一定要記得不斷去充實自己,提升自身的能力,讓自己成為更符合時代需求的Java程序員。
本文來自千鋒教育,轉(zhuǎn)載請注明出處。
總結(jié)
以上是生活随笔為你收集整理的这些Java代码优化细节,你需要注意!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端技术分享:算法入门之“二分算法”
- 下一篇: Java开发经典面试题分享,建议收藏