天天看點

《Effective Java(第3版)》| 每日讀本書

編輯推薦

√ 經典原味,Effective Java 更新版

√ Google 首席Java架構師傾情力作

√ 涵蓋Java 7、Java 8和Java 9中的各種新特性

《Effective Java(第3版)》| 每日讀本書

【美】 Joshua Bloch(約書亞·布洛克)著

内容提要

自從Java 6 釋出之後,Java 又有了翻天覆地的變化。《Effective Java(第3版)(英文版)》涵蓋了Java 7、Java 8 和Java 9 中語言和庫的各種新特性。讓你能夠深入了解Java 平台的細微之處。通過對每一個項目的全面描述和解釋,告訴你應該做什麼、不應該做什麼,以及為什麼要這樣做。

作者簡介

Joshua Bloch

Java 集合架構創辦人,上司了很多 Java 平台特性的設計和實作,包括 JDK 5.0 語言增強以及屢獲殊榮的 Java 集合架構。2004年6月他離開了SUN公司并成為 Google 的首席 Java 架構師。此外他還因為《Effective Java》一書獲得著名的 Jolt 大獎。

精彩導讀

前言

1997年,Java還年輕時,James Gosling(Java 之父)稱它為“藍領的語言”(blue collar language),以此來表達它“十分簡單”[Gosling97]。幾乎與此同時,Bjarne Stroustrup(C++之父)将C++稱為“多範式語言”(multi-paradigm language),“故意和那些隻能用單一方式編寫程式的語言差別開來”[Stroustrup95]。Stroustrup警告說:

Java相對的簡單性——和大多數新語言一樣——一部分是因為錯覺,另一部分是因為它的不完整性。随着時間的推移,Java的規模和複雜性将顯著增長。它的規模将增加兩到三倍,相關的擴充和庫也會不斷增加。

現在,20年過去了,公平來講,Gosling和Stroustrup都是正确的。Java現在變得複雜且龐大,從并行執行、疊代,到日期和時間表示法都有多個抽象。

雖然我的熱情随着平台的發展已經冷卻,但我仍然喜歡Java,鑒于其規模和複雜性的增長,我們迫切需要一個最新的最佳實踐指南,這就是本書寫作的目的。我希望這個版本能夠在延續舊版本理念的前提下滿足大家新的需求。

小很美,簡單卻不易。

附言:

如果我沒有提及最近占據我大量時間去踐行的業内最佳實踐,那将是我的疏忽。自20世紀50年代這個行業誕生以來,我們可以自由地重新實作彼此的API。這種做法是計算機技術迅速成功的關鍵。我以實際行動緻力于維護這種自由[CompSci17],我希望你能加入進來。保留彼此可以重新實作API的權利,這對于維持行業健康發展至關重要。

緻謝

感謝第1版和第2版的讀者用你們的熱情來接納這本書,将它的理念銘記于心,并且讓我知道它對你們的工作有那麼多積極的影響。感謝衆多的講師在你們的課程中使用這本書,感謝衆多的工程師團隊采用這本書。

感謝Addison-Wesley和Pearson團隊在高強度的工作壓力下依舊善良、專業、耐心、優雅。在整個過程中,我的編輯Greg Doench一直保持鎮定:他是一位好編輯,同時也是一名優雅的紳士。為了這個項目他恐怕生了不少白發,在此我向他道歉。我的項目經理Julie Nahil和我的項目編輯Dana Wilson像我期望的那樣勤奮、準時、有條理、友好。我的文字編輯Kim Wimpsett一絲不苟且極有品味。

我再次擁有了夢寐以求的審校團隊,在此緻以我誠摯的謝意。幾乎檢查了每一章的核心團隊包括:Cindy Bloch、Brian Kernighan、Kevin Bourrillion、Joe Bowbeer、William Chargin、Joe Darcy、Brian Goetz、Tim Halloran、Stuart Marks、Tim Peierls,以及Yoshiki Shibata。其他審校包括:Marcus Biel、Dan Bloch、Beth Bottos、Martin Buchholz、Michael Diamond、Charlie Garrod、Tom Hawtin、Doug Lea、Aleksey Shipil?v、Lou Wasserman,以及Peter Weinberger。這些審校人員提出了很多建議,大大提升了本書的品質,也避免了很多尴尬的錯誤。

另外,要專門感謝William Chargin、Doug Lea和Tim Peierls。他們是本書很多理念的“擴音器”。William、Doug和Tim孜孜不倦地為本書付出了他們的時間和智慧。

最後,感謝我的妻子Cindy Bloch一直鼓勵我寫作、閱讀了所有的原始文檔、編寫了索引,并一直幫助我處理這個項目中會出現的各種事情,以及在我寫作時包容我。