Effective Java, 2/e (中文版) Sun 公司核心技术丛书:Effective Java中文版(第2版)

Joshua Bloch

買這商品的人也買了...

商品描述

《Sun 公司核心技術叢書:Effective Java中文版(第2版)》內容簡介:在Java編程中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。通過對Java平臺設計專家所使用的技術的全面描述,揭示了應該做什麽,不應該做什麽才能產生清晰、健壯和高效的代碼。第2版反映了Java 5中最重要的變化,並刪去了過時的內容。
《Sun 公司核心技術叢書:Effective Java中文版(第2版)》中的每條規則都以簡短、獨立的小文章形式出現,並通過示例代碼加以進一步說明。
《Sun 公司核心技術叢書:Effective Java中文版(第2版)》的內容包括:
全新的泛型、枚舉、註解、自動裝箱、fof-each循環、可變參數、並發機制,等等。
經典主題的全新技術和實踐,包括對象.類、類庫、方法和序列化。
如何避免Java編程語言中常被誤解的細微之處:陷阱和缺陷。

點擊鏈接進入Java程序設計:
《深入理解Java虛擬機:JVM高級特性與**實踐》
《JAVA核心技術(捲1):基礎知識(原書第8版)》
《JAVA核心技術捲2:高級特徵》
《Java語言程序設計(基礎篇)(原書第8版)》
《Java編程思想(第4版)》
《Effective Java中文版(第2版)》
《Java編程思想(英文版•第4版)》
《Java 實時編程》
《Java加密與解密的藝術》
《Eclipse插件開發(原書第3版)(暢銷插件開發指南新版)》
《Java語言程序設計:進階篇(原書第8版)》
《Maven實戰》


海報:

作者簡介

作者:(美國)Joshua Bloch譯者:楊春花俞黎敏

Joshua Bloch,是Google公司的首席Java架構師。是Jolt大獎的獲得者。他曾是Sun公司的傑出工程師,和Transarc公司的高級系統設計師。Bloch曾帶領團隊設計和實現過無數的Java平台特性,包括JDK 5.0語言增強版和獲獎的Java Collections Framework。他的著作還包括:《Java Puzzlers》、《Java Concurrency in Practive》等。

目錄大綱

譯者序

前言
致謝
第1章引言
第2章創建和銷毀對象
第1條:考慮用靜態工廠方法代替構造器
第2條:遇到多個構造器參數時要考慮用構建器
第3條:用私有構造器或者枚舉類型強化Singleton屬性
第4條:通過私有構造器強化不可實例化的能力
第5條:避免創建不必要的對象
第6條:消除過期的對象引用
第7條:避免使用終結方法

第3章對於所有對像都通用的方法
第8條:覆蓋equals時請遵守通用約定
第9條:覆蓋equals時總要覆蓋hashCode 
第10條:始終要覆蓋toString 
第11條:謹慎地覆蓋clone 
第12條:考慮實現Comparable接口

第4章類和接口
第13條:使類和成員的可訪問性最小化
第14條:在公有類中使用訪問方法而非公有域
第15條:使可變性最小化
第16條:複合優先於繼承
第17條:要么為繼承而設計,並提供文檔說明,要么就禁止繼承
第18條:接口優於抽像類
第19條:接口只用於定義類型 
第20條:類層次優於標籤類
第21條:用函數對象表示策略
第22條:優先考慮靜態成員類

第5章泛型
第23條:請不要在新代碼中使用原生態類型
第24條:消除非受檢警告
第25條:列表優先於數組
第26條:優先考慮泛型
第27條:優先考慮泛型方法
第28條:利用有限制通配符來提升API的靈活性
第29條:優先考慮類型安全的異構容器

第6章枚舉和註解
第30條:用enum代替int常量
第31條:用實例域代替序數
第32條:用EnumSet代替位域
第33條:用EnumMap代替序數索引
第34條:用接口模擬可伸縮的枚舉
第35條:註解優先於命名模式
第36條:堅持使用Override註解
第37條:用標記接口定義類型

第7章方法
第38條:檢查參數的有效性
第39條:必要時進行保護性拷貝
第40條:謹慎設計方法簽名
第41條:慎用重載
第42條:慎用可變參數
第43條:返回零長度的數組或者集合,而不是:null 
第44條:為所有導出的API元素編寫文檔註釋

第8章通用程序設計
第45條:將局部變量的作用域最小化
第46 條:for-each循環優先於傳統的for循環
第47條:了解和使用類庫
第48條:如果需要精確的答案,請避免使用float和double
第49條:基本類型優先於裝箱基本類型
第50條:如果其他類型更適合,則盡量避免使用字符串
第51條:當心字符串連接的性能
第52條:通過接口引用對象
第53條:接口優先於反射機制
第54條:謹慎地使用本地方法
第55條:謹慎地進行優化
第56條:遵守普遍接受的命名慣例

第9章異常
第57條:只針對異常的情況才使用異常
第58條:對可恢復的情況使用受檢異常,對編程錯誤使用運行時異常
第59條:避免不必要地使用受檢的異常
第60條:優先使用標準的異常
第61條:拋出與抽象相對應的異常
第62條:每個方法拋出的異常都要有文檔
第63條:在細節消息中包含能捕獲失敗的信息
第64條:努力使失敗保持原子性
第65條:不要忽略異常

第10章並發
第66條:同步訪問共享的可變數據
第67條:避免過度同步
第68條:executor和task優先乾線程
第69條:並發工具優先於wait和notify 
第70條:程安全性的文檔化
第71條:慎用延遲初始化
第72條:不要依賴於線程調度器
第73條:避免使用線程組

第11章序列化
第74條:謹慎地實現Serializable接口
第75條:考慮使用自定義的序列化形式
第76條:保護性地編寫readObject方法
第77條:對於實例控制,枚舉類型優先於readResolve 
第78條:考慮用序列化代理代替序列化實例

附錄第1版與第2版條目對照
中英文術語對照
參考文獻