本文摘錄自《Effective Java》中關於「創建和銷毀對象」章節的核心條目,旨在幫助開發者掌握物件生命周期管理的最佳實踐。
from, of, valueOf, instance, getInstance, newInstance, getType, newType。NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8).calories(100).sodium(35).build();volatile 保證可見性。Collections, Arrays)應拋出 AssertionError 防止意外實例化。new DatabaseConnection()),改由容器或工廠注入,提高靈活性與可測試性。String, Boolean.valueOf())。null 屬於「治標不治本」,應從設計上確保引用生命周期正確終結。finalize() 不可靠、性能差、無執行順序保證;Java 9 標記為 Deprecated。try-with-resources 或實現 AutoCloseable,配合 Cleaner(Java 9+)作為最後防線。AutoCloseable 並配合 try-with-resources 管理資源。WeakReference/SoftReference 實現緩存,避免強引用阻礙 GC。掌握這些條目,能顯著提升代碼的健壯性、可維護性與性能表現。