TOP
GOGO開學趣,參考書應有盡有
Effective Java中文版(原書第3版)(簡體書)
滿額折

Effective Java中文版(原書第3版)(簡體書)

商品資訊

人民幣定價:119 元
定價
:NT$ 714 元
優惠價
87621
缺貨無法訂購
無法訂購
商品簡介
作者簡介
目次

商品簡介

本書一共包含90個條目,每個條目討論Java程序設計中的一條規則。這些規則反映了最有經驗的程序員在實踐中常用的一些有益的做法。全書以一種比較鬆散的方式將這些條目組織成11章,每一章都涉及軟件設計的一個主要方面。因此,本書並不一定需要按部就班地從頭讀到尾,因為每個條目都有一定程度的獨立性。這些條目相互之間經常交叉引用,因此可以很容易地在書中找到自己需要的內容。 本書的目標是幫助讀者更加有效地使用Java編程語言及其基本類庫:java.lang、java.util和java.io,以及子包,如java.util.concurrent和java.util.function。本書時不時地也會討論其他的類庫。

作者簡介

[美]約書亞·布洛克(Joshua Bloch),美國卡內基-梅隆大學教授,曾是Google公司首席Java架構師、Sun公司傑出工程師和Transarc公司高級系統設計師。他帶領團隊設計和實現過無數的Java平臺特性,包括JDK 5.0語言增強版和獲獎的Java Collections Framework。他擁有哥倫比亞大學的計算機科學學士學位和卡內基-梅隆大學的計算機科學博士學位。他的著作還包括《Java Puzzlers》和《Java併發編程實戰》(曾獲Jolt大獎提名)等。




俞黎敏,(YuLimin,網名:阿敏總司令) 2008年7月加入IBM廣州分公司,擔任高級技術顧問,主要負責WebSphere系列產品以及雲計算、物聯網相關的技術支持工作,專注於產品新特性、系統性能調優、疑難問題診斷與解決。開源愛好者,曾參與Spring中文論壇組織的《Spring 2.0 Reference》中文翻譯的一審與二審,滿江紅開放技術研究組織的《Seam 1.2.1 Reference》的中文翻譯,組織完成了《Seam 2.0 Reference》的中文翻譯工作。CSDN、CJSDN、Dev2Dev、Matrix、JavaWorldTW、Spring中文等Java論壇的版主,在各大技術社區為推動開源和敏捷開發做出了積極的貢獻。翻譯與審校過多本圖書。

個人網站:http://www.Java2Class.net;博客:http://blog.csdn.net/YuLimin/

目次

推薦序
譯者序
前言
致謝
第1章 引言 1
第2章 創建和銷毀對象 4
第1條:用靜態工廠方法代替構造器 4
第2條:遇到多個構造器參數時要考慮使用構建器 8
第3條:用私有構造器或者枚舉類型強化Singleton屬性 13
第4條:通過私有構造器強化不可實例化的能力 15
第5條:優先考慮依賴注入來引用資源 16
第6條:避免創建不必要的對象 18
第7條:消除過期的對象引用 20
第8條:避免使用終結方法和清除方法 23
第9條:try-with-resources優先於try-f?inally 27
第3章 對於所有對象都通用的方法 30
第10條:覆蓋equals時請遵守通用約定 30
第11條:覆蓋equals時總要覆蓋hashCode 40
第12條:始終要覆蓋toString 44
第13條:謹慎地覆蓋clone 46
第14條:考慮實現Comparable接口 53
第4章 類和接口 59
第15條:使類和成員的可訪問性最小化 59
第16條:要在公有類而非公有域中使用訪問方法 62
第17條:使可變性最小化 64
第18條:複合優先于繼承 70
第19條:要麼設計繼承並提供文檔說明,要麼禁止繼承 75
第20條:接口優於抽象類 79
第21條:為後代設計接口 83
第22條:接口只用于定義類型 85
第23條:類層次優於標簽類 86
第24條:靜態成員類優於非靜態成員類 88
第25條:限制源文件為單個頂級類 91
第5章 泛型 93
第26條:請不要使用原生態類型 93
第27條:消除非受檢的警告 97
第28條:列表優於數組 99
第29條:優先考慮泛型 102
第30條:優先考慮泛型方法 106
第31條:利用有限制通配符來提升API的靈活性 109
第32條:謹慎並用泛型和可變參數 114
第33條:優先考慮類型安全的異構容器 118
第6章 枚舉和注解 123
第34條:用enum代替int常量 123
第35條:用實例域代替序數 131
第36條:用EnumSet代替位域 132
第37條:用EnumMap代替序數索引 134
第38條:用接口模擬可擴展的枚舉 138
第39條:注解優先於命名模式 140
第40條:堅持使用Override注解 147
第41條:用標記接口定義類型 149
第7章 Lambda和Stream 151
第42條:Lambda優先於匿名類 151
第43條:方法引用優先於Lambda 154
第44條:堅持使用標準的函數接口 156
第45條:謹慎使用Stream 159
第46條:優先選擇Stream中無副作用的函數 164
第47條:Stream要優先用Collection作為返回類型 168
第48條:謹慎使用Stream並行 172
第8章 方法 176
第49條:檢查參數的有效性 176
第50條:必要時進行保護性拷貝 179
第51條:謹慎設計方法簽名 182
第52條:慎用重載 184
第53條:慎用可變參數 189
第54條:返回零長度的數組或者集合,而不是null 190
第55條:謹慎返回optinal 192
第56條:為所有導出的API元素編寫文檔注釋 196
第9章 通用編程 202
第57條:將局部變量的作用域最小化 202
第58條:for-each循環優先于傳統的for循環 204
第59條:瞭解和使用類庫 207
第60條:如果需要精確的答案,請避免使用f?loat和double 209
第61條:基本類型優先於裝箱基本類型 211
第62條:如果其他類型更適合,則儘量避免使用字符串 213
第63條:瞭解字符串連接的性能 215
第64條:通過接口引用對象 216
第65條:接口優先於反射機制 218
第66條:謹慎地使用本地方法 220
第67條:謹慎地進行優化 221
第68條:遵守普遍接受的命名慣例 223
第10章 異常 227
第69條:只針對異常的情況才使用異常 227
第70條:對可恢復的情況使用受檢異常,對編程錯誤使用運行時異常 229
第71條:避免不必要地使用受檢異常 231
第72條:優先使用標準的異常 232
第73條:拋出與抽象對應的異常 234
第74條:每個方法拋出的所有異常都要建立文檔 235
第75條:在細節消息中包含失敗-捕獲信息 237
第76條:努力使失敗保持原子性 238
第77條:不要忽略異常 239
第11章 併發 241
第78條:同步訪問共享的可變數據 241
第79條:避免過度同步 245
第80條:executor、task和stream優先於線程 250
第81條:併發工具優先於wait和notify 251
第82條:線程安全性的文檔化 256
第83條:慎用延遲初始化 258
第84條:不要依賴于線程調度器 261
第12章 序列化 263
第85條:其他方法優先於Java序列化 263
第86條:謹慎地實現Serializable接口 266
第87條:考慮使用自定義的序列化形式 269
第88條:保護性地編寫readObject方法 274
第89條:對於實例控制,枚舉類型優先於readResolve 279
第90條:考慮用序列化代理代替序列化實例 282
附錄 與第2版中條目的對應關係 286
參考文獻 289

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 621
缺貨無法訂購

暢銷榜

客服中心

收藏

會員專區