Java程式效能最佳化技巧,java效能最佳化技巧
多線程、集合、網路編程、記憶體最佳化、緩衝、、spring、設計模式、軟體工程、編程思想
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、資料庫資料分級儲存
將經常訪問的資料和訪問頻度低的資料,分別存放到不同的分區,甚至存放到不同的資料庫伺服器,以便合進分配硬碟I/O及系統I/O。
12、緩衝策略
如果有些資料要經常要從資料庫中讀取,同時,這些資料又不經常變化,這些資料就可以在系統中緩衝起來,使用時直接讀取緩衝,而不用頻繁的訪問資料庫讀取資料。
緩衝工作可以在系統初始化時一次性讀取資料,特別是一些唯讀資料,當資料更新時更新資料庫內容,同時更新緩衝的資料值。
Java常用的緩衝技術產品有:Redis、MemoryCache、OSCache等。
13、html靜態化
14、不用儲存太多的資訊在HttpSession中
15、在使用大資料對象時,因此建議在對象使用完畢後,手動設定成null(避免記憶體溢出)。
JAVA性可以最佳化,怎最佳化下面程式?//教java
System.out.println((a == b) ? "YES" : "NO");
直接判斷輸出,避免了字串定義,已經在記憶體中分配記憶體位址的過程!
在多台web做負載平衡的情況下,對web編程有什特殊要?共用session的方法有哪
要對web編程進行效能最佳化~~~~拿java程式效能最佳化來說:
1)緩衝技術(頁面緩衝和二級緩衝);
2)資料來源最佳化(串連池預存一些連線物件);
3)“伺服器端包含”技術的運用;
4)“頁面靜態化”技術的運用。。。等等
session共用的方法很多,我一般用cookie實現,你可以到網上搜尋下,很多實現方法。