熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

大大優化JAVA程序方法

2013-11-23 18:58:55  來源: Java核心技術 
    在考慮到代碼優化的部分我們一般有兩種方案即優化代碼或更改設計方法我們一般會選擇後者因為不去調用以下代碼要比調用一些優化的代碼更能提高程序的性能而一個設計良好的程序能夠精簡代碼從而提高性能下面將提供一些在JAVA程序的設計和編碼中為了能夠提高JAVA程序的性能而經常采用的一些方法和技巧
   
    線程(Threading)
   
    一個高性能的應用程序中一般都會用到線程因為線程能充分利用系統的資源在其他線程因為等待硬盤或網絡讀寫而時程序能繼續處理和運行但是對線程運用不當也會影響程序的性能
   
    對象的生成和大小的調整
   
    JAVA程序設計中一個普遍的問題就是沒有好好的利用JAVA語言本身提供的函數從而常常會生成大量的對象(或實例)由於系統不僅要花時間生成對象以後可能還需花時間對這些對象進行垃圾回收和處理因此生成過多的對象將會給程序的性能帶來很大的影響
   
    輸入和輸出(I/O)
   
    輸入和輸出包括很多方面但涉及最多的是對硬盤網絡或數據庫的讀寫操作對於讀寫操作又分為有緩存和沒有緩存的對於數據庫的操作又可以有多種類型的JDBC驅動器可以選擇但無論怎樣都會給程序的性能帶來影響因此需要注意如下幾點
   
    () 使用輸入輸出緩沖
   
    盡可能的多使用緩存但如果要經常對緩存進行刷新(flush)則建議不要使用緩存
   
    () 輸出流(Output Stream)和Unicode字符串
   
    當時用Output Stream和Unicode字符串時Write類的開銷比較大因為它要實現Unicode到字節(byte)的轉換因此如果可能的話在使用Write類之前就實現轉換或用OutputStream類代替Writer類來使用
   
    () 當需序列化時使用transient
   
    當序列化一個類或對象時對於那些原子類型(atomic)或可以重建的原素要表識為transient類型這樣就不用每一次都進行序列化如果這些序列化的對象要在網絡上傳輸這一小小的改變對性能會有很大的提高
   
    () 使用高速緩存(Cache)
   
    對於那些經常要使用而又不大變化的對象或數據可以把它存儲在高速緩存中這樣就可以提高訪問的速度這一點對於從數據庫中返回的結果集尤其重要
   
    () 使用速度快的JDBC驅動器(Driver)
   
    JAVA對訪問數據庫提供了四種方法這其中有兩種是JDBC驅動器一種是用JAVA外包的本地驅動器另一種是完全的JAVA驅動器具體要使用哪一種得根據JAVA布署的環境和應用程序本身來定
   
    異常(Exceptions)
   
    JAVA語言中提供了try/catch來發方便用戶捕捉異常進行異常的處理但是如果使用不當也會給JAVA程序的性能帶來影響因此要注意以下兩點
   
    () 避免對應用程序的邏輯使用try/catch
   
    如果可以用ifwhile等邏輯語句來處理那麼就盡可能的不用try/catch語句
   
    () 重用異常
   
    在必須要進行異常的處理時要盡可能的重用已經存在的異常對象以為在異常的處理中生成一個異常對象要消耗掉大部分的時間
   
    一些其他的經驗和技巧
   
    () 使用局部變量
   
    () 避免在同一個類中動過調用函數或方法(get或set)來設置或調用變量
   
    () 避免在循環中生成同一個變量或調用同一個函數(參數變量也一樣)
   
    () 盡可能的使用staticfinalprivate等關鍵字
   
    () 當復制大量數據時使用Systemarraycopy()命令


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26087.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.