標籤:分區 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程式效能最佳化技巧