原文來自:http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=2611083L05000
在編寫Java應用程式時,以下是基本的準則:
- 使用字串緩衝區而不是字串串連,當進行連續字串操作時要避免不必要地建立那些最終必須經過記憶體回收的對象。
- 避免連續寫入 Java 控制台以減少字串操作、文字格式設定化以及輸出的花費。
- 必要時通過使用變數的原語類型來避免對象建立和操作的花費。
- 經常快取用過的對象以減少必須的記憶體回收數量,並且避免重複建立對象的需求。
- 儘可能分組本地操作以減少 Java 本地介面(JNI)的調用。
- 只有在必要時再使用同步方法,以此限制在 JVM 和作業系統中的多任務。
- 除非必要避免調用記憶體回收行程。如果您必須調用它,只有在空閑時間或一些非關鍵階段再這樣做。
- 可能時使用整型而不是長整型,因為 32 位操作快於 64 位元。
- 可能時申明方法為 final。JVM 處理 final 的方法較好。
- 當建立常量時為了減少變數需要初始化的次數,使用關鍵字 static final。
- 避免不必要的“casts”和“instanceof”引用,因為在 Java 中銷毀操作不是在編譯時間而是在運行時執行的。
- 當數組可以滿足要求時儘可能避免使用向量。
- 從向量末端添加和刪除項以得到較高效能。
- 使用 -O 選項編譯 Java 檔案。
- 避免在迴圈中指派至。
- 使用緩衝區 I/O 並調優緩衝區大小。
- 使用串連池和準備緩衝聲明進行資料庫訪問。
- 使用串連池串連到資料庫並重用串連而不是重複開啟和關閉串連。
- 最大化線程生存期並最小化線程建立和銷毀迴圈。
- 最小化共用資源的爭用。
- 最小化短生存期對象的建立。
- 避免遠程方法調用。
- 使用回調以避免阻塞遠程方法調用。
- 避免建立只用來訪問一個方法的對象。
- 儘可能保持同步方法處於迴圈外。
- 在資料庫中以 Unicode 形式儲存字串和字元資料。
- 記錄 CLASSPATH 以便最常用的庫先出現。
常用的:
字串相加時用StringBuffer的append方法代替String的”+”操作符;
確定不再用到的對象,將其引用設為null;
優先考慮對象組合而不是類繼承;
盡量建立較少的對象來完成同樣的功能;
使用多態代替instanceof關鍵字;
使用final關鍵字將某些方法體短小的方法設為“inline”
當數組可以滿足要求時儘可能避免使用向量