大家好,如果你是一名 Java 程式設計師,正在考慮 2018 年讀什麼書,那麼這篇文章正適合你。本文中,我將分享 10 本有關 Java、Spring 及其他相關技術的書籍。 這裡面既有適合經驗豐富的 Java 程式設計師的書,它們介紹了架構、雲開發、微服務、Java 9、Spring 5,以及用於提高生產效率的 Kotlin。同時也照顧到了初級的、缺乏經驗的、或正打算 2018 年開始入門 Java 的新手。
同時,我也介紹了一些在 2018 年學習 Java 9 的書籍。有些已經針對 Java SE 9 全面更新,比如 《寫給大忙人看的Java SE 9》和 《Java 9 程式設計入門官方教程》。
如果你剛開始學習 Java 或者正打算要學,這些書都非常適合。不推薦讀舊版本的書來入門,除非是《Head First Java》。
我特別希望《Head First Java》的第三版是一個長期的版本,作者和出版方最好針對 Java 8 和 Java 9 進行全面更新。不過對於入門 Java 的程式設計小白來說,舊版本的《Head First Java》仍然是一本好書。
我最近新增到這個書單的就是這本今天剛發現的《雲原生 Java》。這本書看起來特別棒,它介紹了目前急需的,利用 Spring Boot、Spring Cloud 和 Cloud Foundry 在雲上開發 Java 應用的知識。雖然還沒讀完,但它看起來特別棒。
2018 年可以用來提升 Java 知識技能的書太多了,你不可能把他們都讀完。不過有些書你絕對不想錯過,比如《Effective Java(第三版)》,我把它放在了書單的最上面。
書單裡的書介紹了 Java 9、Spring 5、Kotlin、軟體架構、微服務、雲以及 Java 8 的一些特性。
這個書單不是很長,但裡面的書都很棒,都挺適合在上下班路上讀。
1. 《Effective Java(第三版)》(Effective Java 3rd Edition)
如果你還沒讀過這本書,那它絕對是 2018 年你必須讀的第一本書。第三版是一個長期版本,其實它早就該出版了。這版書也囊括了 JDK 7、8、9 的新特性。
我在 1 月份的第一個星期就拿到了這本書,它絕對是約書亞·布洛克(Joshua Bloch)給 Java 程式設計師最好的新年禮物。
我花了大概一個星期就讀完了這本書。我發現讀的過程中,時常碰到新的知識點,特別是關於 Java 8 和 Java 9 的。
我從這本書中學到了 Java 的模組化,它也幫我理順了之前對於 Java 8 的一些誤解。
2. 《現代 Java 開發範例》(Modern Java Recipes)
如果你喜歡範例型別的書,那這本書就很不錯。就像簡介裡提到的,這本書提供瞭解決 Java 8 和 Java 9 中一些難題的簡單方案。
你會學到如何使用 Java 8 的 lambda 表示式、方法引用以及 Stream API 寫程式碼。
如果你想通過手冊和範例來學習 Java 8 和 Java 9 ,這本書就很完美。
3. 《Java 9 模組化》(Java 9 Modularity)
Java 9 的一個亮點就是 Java 的模組化,本書對這部分做了最全面的介紹。
作者桑德斯·馬克(Sanders Mak)是 Java 9 模組化的權威。我聽過很多他講 Java 9 的課程,比如在 Pluarlsight 做的《Java 9 模組化及新特性》。我可以保證,讀完此書之後,你絕不會後悔。
4. 《寫給大忙人看的Java SE 9(第二版)》 (Core Java SE 9 for the Impatient (2nd Edition))
如果你急著學 Java 那我推薦這本書給你。我是凱 S·霍斯特曼 (Cay S. Horstmann)的一個忠實粉絲,他的文采之優美、涉獵之廣,都讓我很是佩服。
你讀了他寫的關於 Java 8、Scala 的書以及《Java 核心程式設計》之後,絕對也會成為他的粉絲。
這本書已經針對 Java SE 9 全面更新。如果你想學習 Java 9,那2018年你應該先讀讀這本書。
5. 《Java 8入門》(Beginning Java 8 Language Features)
儘管已經發布快 4 年了,仍然有很多 Java 程式設計師還沒有開始使用 Java 8。
如果你是這些人的一員,或者還不是很理解 lambda 表示式、Stream API、Optional 及 Java 8 其他的特性,那你一定要讀這本書。
這是一個系列,共有3卷,此卷通俗易懂的講解了 Java 8 的基礎知識。
另外兩卷則延伸到 Java 8 的高階特性,比如 JDBC、Swing、 Java FX,以及 Java 網路 API。
6. 《Spring 微服務實戰》(Spring Microservices in Action)
軟體開發世界正在加速轉向微服務架構,它在開發、維護、部署、擴容性及可靠性等方面有很多優勢。
感謝 Spring framework 提供這麼多開發微服務的 Java 工具,比如 Spring Boot 和 Spring Cloud。
如果你對用 Spring framework 開發微服務有興趣,那麼這本書很適合你。
7. 《架構整潔之道》(Clean Architecture)
我是在2017年讀的這本書,特別喜歡。我是羅伯特 C·馬丁(Robert C. Martin)的一個忠實粉絲(大家稱之為“ Bob 大叔”)。加上之前的《程式碼整潔之道(Clean Code)》和《程式碼整潔之道 程式設計師的職業素養(Clean Coder book)》,這本書完成了程式碼整潔之道三部曲。
它介紹瞭如何構建可以經受時間考驗的軟體架構,還消除了對設計模式和軟體架構的一些誤解。
如果你是一名經驗豐富的 Java 程式設計師,正想轉變為一個方案設計師,那這本書2018年你一定要讀完。
8. 《Spring 5 開發範例程式碼大全》(Spring 5 Recipes: A Problem-Solution Approach)
拋開 JDK 9 不談,2017年另外一個大的版本更新就是 Spring 5 ,它將響應式程式設計引入了 Spring 。
既然對 Java 程式設計師來說, Spring 是無可爭議的、最流行的架構,那麼學習 Spring 5 讓自己緊跟技術潮流,是非常值得的。
我個人非常喜歡目標導向的範例類圖書,這也是我為什麼選擇了這本書用來學習 Spring 5。
它不僅覆蓋了 Spring 5 的新特性,也講了其他早期版本的增強。一句話,它教你如何在 Spring 5 的環境下寫程式碼。
9. 《Kotlin 實戰》(Kotlin in Action)
Java 程式設計師通過學習 Scala、Groovy、Closure 等 JVM 語言來成為一名多語言的開發者是很常見的。而 Kotlin 正是當下的熱門。
自從 2017 年 Google 在 Google IO 上宣佈將 Kotlin 作為 Android 的官方語言之後,很多人都開始對學習 Kotlin 感興趣。
更重要的是,它能提高你的生產效率,而且它和 Java 非常相似。因此,如果你想在 2018 年學習一種 JVM 語言,我建議學習 Kotlin。
10. 《Java 9 程式設計入門官方教程(第七版)》(Java: A Beginner’s Guide, Seventh Edition)
這是另一本從零開始學習 Java 的經典書籍。第七版已經針對 Java SE 9 全面更新。
如果你想在 2018 年開始你的 Java 程式設計師生涯,這本書可以幫你學到最新版本的 Java。
這本書比書單裡的第二本更全面。
11. 《雲原生 Java》(Cloud Native Java)
恭喜讀到這裡的朋友,你們收穫了一個彩蛋 ——《雲原生 Java》,2018 年最有用的 Java 書籍。
當今的軟體開發,大都是關於雲、微服務、分散式架構等等。喬氏·隆(Josh Long)和肯尼·巴斯塔尼(Kenny Bastani)在這本書裡向 Java/JVM 開發者展示瞭如何使用 Spring Boot、Spring Cloud 和 Cloud Foundry 構建更好、更快的 Java 應用程式。
對於經驗豐富的 Java 開發者來說,它絕對是一本必讀書。儘管它介紹了相對高階的內容,我還是強烈推薦每一位 Java 程式設計師都讀一下。
實際上,我還沒有讀完這本書。但是讀完前言之後,我就對所討論的話題非常感興趣。我可能在讀完之後再寫一篇詳細的文章。但它絕對值得各位至少讀一遍。
這就是 2018 年 Java 程式設計師可以讀的一些有趣、有用的書籍。實話實說,即使是讓自己緊跟 Java 世界的技術潮流,比如 Java 9、Sprig 5、微服務、Kotlin 等,也還有一大堆東西等著你去學習。這些書不僅僅更新你的知識,還能讓你對一些技術的理解更加深刻。
多謝閱讀。如果你喜歡這些書,就把它們分享給你的朋友和同學吧。如果有任何建議,或有書籍想在2018年分享給大家,歡迎留言。