《Effective Java 第三版》目錄匯總


經過反復不斷的拖延和堅持,所有條目已經翻譯完成,供大家分享學習。時間有限,個別地方翻譯得比較倉促,希望有疑慮的地方指出批評改正。

第一章簡介

忽略

第二章 創建和銷毀對象

1. 考慮使用靜態工廠方法替代構造方法
2. 當構造方法參數過多時使用builder模式
3. 使用私有構造方法或枚類實現Singleton屬性
4. 使用私有構造方法執行非實例化
5. 使用依賴注入取代硬連接資源
6. 避免創建不必要的對象
7. 消除過期的對象引用
8. 避免使用Finalizer和Cleaner機制
9. 使用try-with-resources語句替代try-finally語句

第三章 所有對象的通用方法

10. 重寫equals方法時遵守通用約定
11. 重寫equals方法時同時也要重寫hashcode方法
12. 始終重寫 toString 方法
13. 謹慎地重寫 clone 方法
14.考慮實現Comparable接口

第四章 類和接口

15. 使類和成員的可訪問性最小化
16. 在公共類中使用訪問方法而不是公共屬性
17. 最小化可變性
18. 組合優於繼承
19. 如果使用繼承則設計,並文檔說明,否則不該使用
20. 接口優於抽象類
21. 為后代設計接口
22. 接口僅用來定義類型
23. 優先使用類層次而不是標簽類
24. 優先考慮靜態成員類
25. 將源文件限制為單個頂級類

第五章 泛型

26. 不要使用原始類型
27. 消除非檢查警告
28. 列表優於數組
29. 優先考慮泛型
30. 優先使用泛型方法
31. 使用限定通配符來增加API的靈活性
32. 合理地結合泛型和可變參數
33. 優先考慮類型安全的異構容器

第六章 枚舉和注解

34. 使用枚舉類型替代整型常量
35. 使用實例屬性替代序數
36. 使用EnumSet替代位屬性
37. 使用EnumMap替代序數索引
38. 使用接口模擬可擴展的枚舉
39. 注解優於命名模式
40. 始終使用Override注解
41. 使用標記接口定義類型

第七章 Lambda表達式和Stream流

42. lambda表達式優於匿名類
43. 方法引用優於lambda表達式
44. 優先使用標准的函數式接口
45. 明智審慎地使用Stream
46. 在流中優先使用無副作用的函數
47. 優先使用Collection而不是Stream來作為方法的返回類型
48. 謹慎使用流並行

第八章 方法

49. 檢查參數有效性
50. 必要時進行防御性拷貝
51. 仔細設計方法簽名
52. 明智而審慎地使用重載
53. 明智而審慎地使用可變參數
54. 返回空的數組或集合不要返回null
55. 明智而審慎地返回Optional
56. 為所有已公開的API元素編寫文檔注釋

第九章 通用編程

57. 最小化局部變量的作用域
58. for-each循環優於傳統for循環
59. 熟悉並使用Java類庫
60. 需要精確的結果時避免使用float和double類型
61. 基本類型優於裝箱的基本類型
62. 當有其他更合適的類型時就不用字符串
63. 注意字符串連接的性能
64. 通過對象的接口引用對象
65. 接口優於反射
66. 明智謹慎地使用本地方法
67. 明智謹慎地進行優化
68. 遵守普遍接受的命名約定

第十章 異常

69. 僅在發生異常的條件下使用異常
70. 對可恢復條件使用已檢查異常,對編程錯誤使用運行時異常
71. 避免不必要地使用檢查異常
72. 贊成使用標准異常
73. 拋出合乎於抽象的異常
[74. 文檔化每個方法拋出的所有異常]https://www.cnblogs.com/IcanFixIt/p/10631106.html)
75. 在詳細信息中包含失敗捕獲信息
76. 爭取保持失敗原子性
77. 不要忽略異常

第十一章 並發

78. 同步訪問共享的可變數據
79. 避免過度同步
80. EXECUTORS, TASKS, STREAMS 優於線程
81. 優先使用並發實用程序替代wait和notify
82. 線程安全文檔化
83. 明智謹慎地使用延遲初始化
84. 不要依賴線程調度器

第十二章 序列化

85. 其他替代方式優於Java本身序列化
86. 非常謹慎地實現SERIALIZABLE接口
87. 考慮使用自定義序列化形式
88. 防御性地編寫READOBJECT方法
89. 對於實例控制,枚舉類型優於READRESOLVE
90. 考慮序列化代理替代序列化實例

第三版全。下回再見,后會有期!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM