欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java中有哪些提升性能對(duì)代碼作的建議

這篇文章主要介紹“java中有哪些提升性能對(duì)代碼作的建議”,在日常操作中,相信很多人在java中有哪些提升性能對(duì)代碼作的建議問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”java中有哪些提升性能對(duì)代碼作的建議”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、孟州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為孟州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1.盡量在合適的場(chǎng)合使用單例

使用單例可以減輕加載的負(fù)擔(dān),縮短加載的時(shí)間,提高加載的效率,但并不是所有地方都適用于單例,簡(jiǎn)單來(lái)說(shuō),單例主要適用于以下三個(gè)方面:

第一,控制資源的使用,通過(guò)線程同步來(lái)控制資源的并發(fā)訪問(wèn);

第二,控制實(shí)例的產(chǎn)生,以達(dá)到節(jié)約資源的目的;

第三,控制數(shù)據(jù)共享,在不建立直接關(guān)聯(lián)的條件下,讓多個(gè)不相關(guān)的進(jìn)程或線程之間實(shí)現(xiàn)通信。

2.盡量避免隨意使用靜態(tài)變量

要知道,當(dāng)某個(gè)對(duì)象被定義為stataic變量所引用,那么gc通常是不會(huì)回收這個(gè)對(duì)象所占有的內(nèi)存,如

Java代碼

publicclassA{

staticBb=newB();

}

此時(shí)靜態(tài)變量b的生命周期與A類同步,如果A類不會(huì)卸載,那么b對(duì)象會(huì)常駐內(nèi)存,直到程序終止。

3.盡量避免過(guò)多過(guò)常的創(chuàng)建Java對(duì)象

盡量避免在經(jīng)常調(diào)用的方法,循環(huán)中new對(duì)象,由于系統(tǒng)不僅要花費(fèi)時(shí)間來(lái)創(chuàng)建對(duì)象,而且還要花時(shí)間對(duì)這些對(duì)象進(jìn)行垃圾回收和處理,在我們可以控制的范圍內(nèi),最大限度的重用對(duì)象,最好能用基本的數(shù)據(jù)類型或數(shù)組來(lái)替代對(duì)象。

4.盡量使用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%.

5.盡量使用局部變量

調(diào)用方法時(shí)傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時(shí)變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量、實(shí)例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。

6.盡量處理好包裝類型和基本類型兩者的使用場(chǎng)所

雖然包裝類型和基本類型在使用過(guò)程中是可以相互轉(zhuǎn)換,但它們兩者所產(chǎn)生的內(nèi)存區(qū)域是完全不同的,基本類型數(shù)據(jù)產(chǎn)生和處理都在棧中處理,包裝類型是對(duì)象,是在堆中產(chǎn)生實(shí)例。

在集合類對(duì)象,有對(duì)象方面需要的處理適用包裝類型,其他的處理提倡使用基本類型。

7.慎用synchronized,盡量減小synchronize的方法

都知道,實(shí)現(xiàn)同步是要很大的系統(tǒng)開銷作為代價(jià)的,甚至可能造成死鎖,所以盡量避免無(wú)謂的同步控制。synchronize方法被調(diào)用時(shí),直接會(huì)把當(dāng)前對(duì)象鎖了,在方法執(zhí)行完之前其他線程無(wú)法調(diào)用當(dāng)前對(duì)象的其他方法。所以synchronize的方法盡量小,并且應(yīng)盡量使用方法同步代替代碼塊同步。

8.盡量使用StringBuilder和StringBuffer進(jìn)行字符串連接

這個(gè)就不多講了。

9.盡量不要使用finalize方法

實(shí)際上,將資源清理放在finalize方法中完成是非常不好的選擇,由于GC的工作量很大,尤其是回收Young代內(nèi)存時(shí),大都會(huì)引起應(yīng)用程序暫停,所以再選擇使用finalize方法進(jìn)行資源清理,會(huì)導(dǎo)致GC負(fù)擔(dān)更大,程序運(yùn)行效率更差。

10.盡量使用基本數(shù)據(jù)類型代替對(duì)象

Stringstr="hello";

上面這種方式會(huì)創(chuàng)建一個(gè)"hello"字符串,而且JVM的字符緩存池還會(huì)緩存這個(gè)字符串;

Stringstr=newString("hello");

此時(shí)程序除創(chuàng)建字符串外,str所引用的String對(duì)象底層還包含一個(gè)char[]數(shù)組,這個(gè)char[]數(shù)組依次存放了h,e,l,l,o

11.單線程應(yīng)盡量使用HashMap、ArrayList

HashTable、Vector等使用了同步機(jī)制,降低了性能。

12.盡量合理的創(chuàng)建HashMap

當(dāng)你要?jiǎng)?chuàng)建一個(gè)比較大的hashMap時(shí),充分利用另一個(gè)構(gòu)造函數(shù)

publicHashMap(intinitialCapacity,floatloadFactor)

避免HashMap多次進(jìn)行了hash重構(gòu),擴(kuò)容是一件很耗費(fèi)性能的事,在默認(rèn)中initialCapacity只有16,而loadFactor是0.75,需要多大的容量,你最好能準(zhǔn)確的估計(jì)你所需要的最佳大小,同樣的Hashtable,Vectors也是一樣的道理。

13.盡量減少對(duì)變量的重復(fù)計(jì)算

for(inti=0;i<list.size();i++)   應(yīng)該改為   for(inti=0,len=list.size();i2),同時(shí)new一個(gè)對(duì)象也是性能的消耗。

我們?cè)倏纯碕DK對(duì)于Boolean.valueOf(booleanb)的實(shí)現(xiàn):

Boolean類提供了兩個(gè)常量:

Java代碼

publicstaticfinalBooleanTRUE=newBoolean(true);

publicstaticfinalBooleanFALSE=newBoolean(false);

而valueOf(booleanb)的內(nèi)部實(shí)現(xiàn)是:

Java代碼

return(b?TRUE:FALSE);

因此用Boolean.valueOf(booleanb)代替newBoolean()既能節(jié)省空間,又能提高性能。

(2)。用Integer.valueOf(inti)代替newInteger()

和Boolean類似,java開發(fā)中使用Integer封裝int的場(chǎng)合也非常多,并且通常用int表示的數(shù)值都非常小。SUNSDK中對(duì)Integer的實(shí)例化進(jìn)行了優(yōu)化,Integer類緩存了-128到127這256個(gè)狀態(tài)的Integer,如果使用Integer.valueOf(inti),傳入的int范圍正好在此內(nèi),就返回靜態(tài)實(shí)例。這樣如果我們使用Integer.valueOf代替newInteger的話也將大大降低內(nèi)存的占用。

到此,關(guān)于“java中有哪些提升性能對(duì)代碼作的建議”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

文章標(biāo)題:java中有哪些提升性能對(duì)代碼作的建議
本文路徑:http://aaarwkj.com/article22/ihhecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、小程序開發(fā)、做網(wǎng)站網(wǎng)站制作、網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
白浆视频在线免费观看| 亚洲女同中文字幕在线| 亚洲黄色av乱码在线观看| 亚洲精品欧美激情专区| 日本女人体内射精视频| 亚州精品少妇久久久久久 | 2021天天操夜夜爽| 国产丝袜美腿视频亚洲综合| 欧美日韩精品视频在线| 欧美黄色一区在线观看| 国产综合亚洲欧美日韩在线| 免费人成网站视频在线观看不卡| 国产成人av中文字暮在线| 亚洲av日韩综合一区尤物| 高清偷自拍亚洲精品三区| 日韩性视频激情在线一区| 麻豆精品人妻中文在线| 国产三级伦理在线播放| 亚洲国产传媒在线观看| 欧洲亚洲国产一区二区| 亚洲毛片一区二区在线| 国产精品观看在线亚洲人成网| 日韩成年人高清精品不卡一区二区| 欧美日韩激情在线不卡三区| 同为人妻一区二区三区| 久久99热这里只频精品| 日本不卡一二区不久精品免费| 国产成人精品久久性色av| 久久精品国产亚洲熟女| 91薄丝激情在线播放| 日韩毛片免费看美日韩毛片| 日韩激情一区二区三区| 国产l精品国产亚洲区久久| 欧美日韩在线视频一区| 内射久久一区二区亚洲| 99麻豆久久久精品国产| 久久亚洲一本综合久久| 激情毛片av在线免费看| 欧美日韩久久久久久精品| 未满18禁止入内在线观看| 中文国产人精品久久蜜桃|