Learning never ends
© 2025. All rights reserved.
Item1 - 靜態工廠方法
Item2 - 建造者模式
Item3 - 用Enum實作Singleton
Item4 - 透過私有構造器來禁止實例化
Item5 - 依賴注入優於硬連接資源
Item6 - 避免創建不必要的對象
Item7 - 消除過期的對象引用
Item10 - 覆蓋equals請遵守通用規範
Item11 - 覆蓋equals時總要覆蓋hashCode
Item12 - 始終要覆蓋toString
Item15 - 使類和成員的可訪問性最小化
Item16 - 在公有類中使用訪問方法而非公有域
Item17 - 使可變性最小化
Item18 - 復合優先於繼承
Item24 - 優先考慮靜態成員類
Item25 - 讓每個java文件只有一個top-level類別
泛型篇章簡介及術語列表
Item26 - 不要使用原始類型
Item27 - 消除非檢查警告
Item28 - 列表優於數組
Item29 - 優先考慮泛型
Item30 - 優先考慮泛型方法
Item31 - 利用限制通配符來提昇API靈活性
到底 <T extends Comparable<? super T»是什麼意思
類型參數和通配符的選擇
Item42 - lambda表達式優於匿名類
Item43 - 方法引用優於lambda表達式
Item44 - 優先使用標準的函數式接口
Item45 - 謹慎的使用Stream
Item46 - 優先考慮在流的中間操作中使用無副作用的方法
Item47 - 優先使用Collection而不是Stream來作為函數的回傳類型
Item48 - 謹慎使用並行Stream
Item49 - 檢查參數的有效性
Item50 - 必要時進行保護型拷貝
Item51 - 謹慎的設計方法簽名
Item52 - 慎用重載
Item53 - 慎用可變參數
Item54 - 返回零長度的數組或集合 而不是null
Item56 - 為所有導出的API元素編寫文檔註釋
Item57 - 將局部變量的作用域最小化
Item58 - For-each 優先於傳統的for或while
Item64 - 通過接口引用對象
Item66 - 謹慎的使用本地方法
Item67 - 謹慎地進行優化
Item68 - 遵守普遍接受的命名慣例
Item69 - 只針對異常的情況才使用異常
Item70 - 對可恢復的情況使用受檢異常 對編程錯誤使用運行時異常
Item71 - 避免不必要的使用受檢異常
Item72 - 優先使用標準的異常
Item73 - 拋出與抽象相對應的異常
Item74 - 每個拋出來的異常都要有文檔
Item75 - 在細節消息中包含能捕獲失敗的訊息
Item76 - 使失敗保持原子性
Item77 - 不要忽略異常
Effective Java - 序列化
Item86 - 謹慎實現Serializable介面
Item87 - 考慮使用自己定義的序列化
深入解析序列化byte stream
Item88 - 保護性的編寫readObject方法
Item89 - 用Enum實現物件控制
Item90 - 考慮用序列化代理代替序列化實例