1。避免過早優化 主要格言: 效能常常以不必要的最佳化為代價。 過早的最佳化被認為是程式設計中的「萬惡之源」。 推薦規則是: 規則 1:不要最佳化。 規則 2:僅在需求明確且不可避免時進行最佳化。 2。專注於清晰正確的程式碼架構 初始目標:在專注於效能之前創建結構良好、可維護的程式。 如果架構基礎紮實,稍後可以加入最佳化,而不會影響程式碼的完整性。 封裝:使用資訊隱藏來隔離設計選擇,促進局部變更和改進,而不影響整個系統。 3。在初始設計中考慮性能,但避免過早的承諾 在設計過程中,避免做出限制未來性能的選擇,尤其是在: API:確保關鍵方法不會增加效能損失,例如建立不必要的物件。 持久資料格式:選擇具有靈活性和效率的資料格式。 低效 API 範例:java.awt.Component 類別的 getSize 方法傳回可變的 Dimension 對象,需要不必要的分配並影響效能。 4。使用適當的工具評估性能(分析和基準測試) 分析器:使用分析工具來識別程式消耗最多時間的地方,避免最佳化不是真正瓶頸的部分。 範例工具:建議使用 jmh(Java Microbenchmark Harness)來進行 Java 中的詳細效能微基準測試。 分析有助於識別低效演算法(例如二次演算法),在專注於低階改進之前應將其替換為更有效率的演算法。 5。考慮不同環境下的可移植性和效能變化 實作與硬體 Java 的效能在 JVM 版本、硬體平台和配置之間可能存在很大差異。 檢查所有目標平台的最佳化非常重要,以確保效能的一致性。 6。開發後最佳化流程 建議步驟: 完成設計並實現清晰簡潔的程式版本。 評估整體表現。如有必要,找到並優化對效能影響最大的區域。 優先選擇高效率演算法;低階最佳化無法解決演算法選擇不當的問題。 每次調整後衡量表現以確認正面影響。 最終總結 最佳實踐:專注於編寫高品質的程式碼,因為良好的設計通常與高效的效能相容。 持續評估:始終衡量最佳化對效能的影響。 一般範例:當關鍵方法因不必要的物件而影響效率時,請考慮替代方案,例如不可變類型或傳回原始值而不是物件的方法,從而減少分配並使程式更快、更有效率。