《Effective Java 第三版》新條目介紹

前言

從去年的3月份起我就在開始讀《Effective Java 第二版》,當然,我讀的是中文版的;可能是我理解能力還不行,對於書中的內容總是感覺理解困難;就拿第一章的內容「創建和銷燬對象」來說吧,這是我讀的次數最多的一章,想必原因大家也是明白的,每次我讀不下去的時候,我就從頭開始讀,所以,現在我對這本書的第一章是最爲熟悉的了。後來,有一次我上網看到有網友說這本書確實和絕大部分的翻譯書籍一樣,對於有些原文中的內容翻譯的不是很流暢,所以會導致閱讀的人感覺難以理解;於是,我就斗膽下了本英文的原版來對照着來看,發現確實這樣理解起來就更容易了,所以最後花了一兩個月的時間就把整本書給啃完了(好吧,真實的情況是,這段時間我參與了幾個項目,編程經驗也因此積累了不少,所以對於《Effective Java》這本書裏推薦的「最佳實踐」有了一點點的思考與理解。)

其實,到目前爲止,我還是會時不時地拿起這本書來翻看,每次讀都感覺與上一次不一樣,這也許就是「溫故知新」的意思吧。

第三版新條目

上面的絮絮叨叨大家可以不用關心,現在我就來介紹下第三版中加入的一些新的條目。

大家可以先看下下面這張圖,有個整體的概念。
Java新特性對照表

因爲,《Effective Java 第二版》的原版是2008年出版的,至今(2018)年已經有十年了,Java 語言在這十年裏也發展的比較迅速,對於第二版中提及的「最佳實踐」有些已經不是特別推薦了,幸好作者 Joshua Bloch 大叔重操舊筆爲我們這羣麻瓜帶來了最新的條目,同時也更新了原有的條目。

這本書的原版是去年完稿的(2017年12月18號),作者正好補充了 Java 7、Java 8 和 Java 9 的一些「最佳實踐」。另外,想必關注 Java 發展的麻瓜們已經瞭解到了 Java 之後的發版規則改了,「Java版本發佈週期變更爲每六個月一次」。是不是一下子覺得有點緊張了啊,其實也沒什麼好擔心的,新特性的快速添加,對我們也是好事,可以減少一些低效的操作,使用新特性來解放生產力。

Java 7 新特性

  • try-with-resources | 一種新的資源關閉處理方式
  • @SafeVarargs | 忽略任何使用參數爲泛型變量的方法或構造函數調用產生的警告

Java 8 新特性

  • Lambdas | 引入函數式編程
  • Streams | 流式數據處理
  • Optionals | 參考Google的Guava類庫實現的,用來解決空指針異常(NullPointerException,NPE)問題
  • Default methods in interfaces | 接口中可以有默認實現方法了

Java 9 新特性

  • Modules | 將 JDK 源代碼重新組織爲模塊,對構建系統進行增強以使之支持對模塊的編譯,並在構建時強制對模塊邊界的應用

總結

這就是《Effective Java 第三版》新添加的條目,這篇文章只是大概的展示下新添加的條目,具體的內容還是需要讀者去閱讀書籍去了解,本人目前也在閱讀當中,後續有什麼閱讀感悟會及時與諸君分享的。那麼,重要的問題來了,如何去獲取這本書籍的,因爲中文翻譯版本還沒有那麼快,如果,你對你的英文還感到有點自信,可以試試閱讀原版。這裏我就造福下你們了。下載地址:《Effective Java 第三版原版pdf》

參考資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章