一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java性能的優(yōu)化(五)

Java性能的優(yōu)化(五)

測試的結(jié)果如下(假設(shè)標(biāo)準(zhǔn)的時間為1,越小性能越好): 

關(guān)于線程的操作,要注意如下幾個方面。 

  (1) 防止過多的同步 

  如上所示,不必要的同步常常會造成程序性能的下降。因此,如果程序是單線程,則一定不要使用同步。 

  (2) 同步方法而不要同步整個代碼段 

     對某個方法或函數(shù)進(jìn)行同步比對整個代碼段進(jìn)行同步的性能要好。 

  (3) 對每個對象使用多”鎖”的機(jī)制來增大并發(fā)。 

  一般每個對象都只有一個”鎖”,這就表明如果兩個線程執(zhí)行一個對象的兩個不同的同步方法時,會發(fā)生”死鎖”。即使這兩個方法并不共享任何資源。為了避免這個問題,可以對一個對象實行”多鎖”的機(jī)制。如下所示: 

  class foo 

  { 

  private static int var1; 

  private static Object lock1=new Object(); 

  private static int var2; 

  private static Object lock2=new Object(); 

  public static void increment1() 

  { 

  synchronized(lock1) 

  { 

  var1++; 

  } 

  } 

  public static void increment2() 

  { 

  synchronized(lock2) 

  { 

  var2++; 

  } 

  } 

  } 

  4.輸入和輸出(I/O) 

  輸入和輸出包括很多方面,但涉及最多的是對硬盤,網(wǎng)絡(luò)或數(shù)據(jù)庫的讀寫操作。對于讀寫操作,又分為有緩存和沒有緩存的;對于數(shù)據(jù)庫的操作,又可以有多種類型的JDBC驅(qū)動器可以選擇。但無論怎樣,都會給程序的性能帶來影響。因此,需要注意如下幾點(diǎn): 

  (1) 使用輸入輸出緩沖 

     盡可能的多使用緩存。但如果要經(jīng)常對緩存進(jìn)行刷新(flush),則建議不要使用緩存。 

  (2) 輸出流(Output Stream)和Unicode字符串 

     當(dāng)時用Output Stream和Unicode字符串時,Write類的開銷比較大。因為它要實現(xiàn)Unicode到字節(jié)(byte)的轉(zhuǎn)換.因此,如果可能的話,在使用Write類之前就實現(xiàn)轉(zhuǎn)換或用OutputStream類代替Writer類來使用。 

  (3) 當(dāng)需序列化時使用transient 

     當(dāng)序列化一個類或?qū)ο髸r,對于那些原子類型(atomic)或可以重建的原素要表識為transient類型。這樣就不用每一次都進(jìn)行序列化。如果這些序列化的對象要在網(wǎng)絡(luò)上傳輸,這一小小的改變對性能會有很大的提高?! ?nbsp;

  (4) 使用高速緩存(Cache) 

     對于那些經(jīng)常要使用而又不大變化的對象或數(shù)據(jù),可以把它存儲在高速緩存中。這樣就可以提高訪問的速度。這一點(diǎn)對于從數(shù)據(jù)庫中返回的結(jié)果集尤其重要。 

  (5) 使用速度快的JDBC驅(qū)動器(Driver) 

     JAVA對訪問數(shù)據(jù)庫提供了四種方法。這其中有兩種是JDBC驅(qū)動器。一種是用JAVA外包的本地驅(qū)動器;另一種是完全的JAVA驅(qū)動器。具體要使用哪一種得根據(jù)JAVA布署的環(huán)境和應(yīng)用程序本身來定。 

  5.一些其他的經(jīng)驗和技巧 

  (1) 使用局部變量 

  (2) 避免在同一個類中動過調(diào)用函數(shù)或方法(get或set)來設(shè)置或調(diào)用變量。 

  (3) 避免在循環(huán)中生成同一個變量或調(diào)用同一個函數(shù)(參數(shù)變量也一樣) 

  (4) 盡可能的使用static,final,private等關(guān)鍵字 

  (5) 當(dāng)復(fù)制大量數(shù)據(jù)時,使用System.arraycopy()命令。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美不卡午夜中文字幕| 欧美三级不卡在线观线看| 毛片在线观看免费日韩| 日韩中文无线码在线视频| 久久老熟女一区二区三区福利| 欧美日韩视频中文字幕| 国产内射在线激情一区| 亚洲高清亚洲欧美一区二区| 欧美日韩国产黑人一区| 亚洲精选91福利在线观看| 中国美女草逼一级黄片视频| 手机在线观看亚洲中文字幕| 日本三区不卡高清更新二区| 中国黄色色片色哟哟哟哟哟哟 | 亚洲天堂一区在线播放| 99久久国产精品成人观看| 日本午夜免费福利视频| 久久精品a毛片看国产成人| 日韩一区二区三区久久| 内用黄老外示儒术出处| 亚洲精品国男人在线视频| 国产一区二区三区免费福利| 色欧美一区二区三区在线| 日韩免费av一区二区三区| 一区二区三区精品人妻| 日本久久精品在线观看| 午夜直播免费福利平台| 国产精品免费视频视频| 国产免费自拍黄片免费看| 精品亚洲av一区二区三区| 色丁香之五月婷婷开心| 中文字幕亚洲视频一区二区| 91日韩在线视频观看| 国产自拍欧美日韩在线观看| 国产精品一区日韩欧美| 日本一本在线免费福利| 久久偷拍视频免费观看| 亚洲中文字幕在线观看黑人| 亚洲高清亚洲欧美一区二区| 日韩国产亚洲一区二区三区| 亚洲免费视频中文字幕在线观看|