Java程式效能最佳化技巧

來源:互聯網
上載者:User

標籤:分區   array   post   spring   null   完成   取資料   大數   位置   

多線程、集合、網路編程、記憶體最佳化、緩衝、、spring、設計模式、軟體project、編程思想

1、產生對象時,合理分配空間和大小
new ArrayList(100);

2、最佳化for迴圈
Vector vect = new Vector(1000);
for( inti=0; i<vect.size(); i++){
   ...
}
for迴圈部分改寫成:
int size = vect.size();
for( int i=0; i>size; i++){
...
}
假設size=1000,就能夠降低1000次size()的系統調用開銷,避免了迴圈體反覆調用。

3、new一個執行個體對象,new在什麼位置(盡量在使用時再建立該對象)。

4、異常處理技巧

5、盡量使用局部變數和靜態變數

6、盡量不適用多線程同步

7、儘可能的使用Java自身提供的API

8、盡量降低I/O操作(控制台、日誌)

9、盡量使用緩衝流(儘可能使用帶有Buffer的類取代沒有Buffer的類,BufferedReader、BufferedWriter、BufferedInputStream)

10、sql最佳化、預存程序、視圖、串連池(C3P0 、DBCP)

11、資料庫資料分級儲存
將常常訪問的資料和訪問頻度低的資料,分別存放到不同的分區。甚至存放到不同的資料庫server,以便合進分配硬碟I/O及系統I/O。

12、緩衝策略
假設有些資料要常常要從資料庫中讀取。同一時候,這些資料又不常常變化,這些資料就能夠在系統中緩衝起來,使用時直接讀取緩衝。而不用頻繁的訪問資料庫讀取資料。
緩衝工作能夠在系統初始化時一次性讀取資料。特別是一些僅僅讀的資料,當資料更新時更新資料庫內容,同一時候更新緩衝的資料值。
Java經常使用的緩衝技術產品有:Redis、MemoryCache、OSCache等。

13、html靜態化

14、不用儲存太多的資訊在HttpSession中

15、在使用大資料對象時,因此建議在對象使用完成後。手動設定成null(避免記憶體溢出)。

Java程式效能最佳化技巧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.