【推薦】Java程序員必讀的10本書籍
以下列出了10本書,對于任何希望提高Java知識和理解的Java程序員來說都是必不可少的。
如果你是一名程序員,想知道如何提高你對Java的了解或者成為更好的Java開發(fā)人員,那你就來對地方了。在本文中,我將分享一些***的Java書籍。這些書經(jīng)受住了時間的考驗,隨著歲月的流逝變得越來越重要。不管你是在2018年讀還是計劃在2019年讀,你總有很多東西要學,這就是為什么我認為它們是有史以來最棒的Java書籍。
就我個人而言,我非常喜歡讀書。我的圖書館里有幾百本書和電子書。當我還是個孩子的時候,我讀了很多漫畫,包括《超級突擊隊》(Super Commando Dhruv),他是我最喜歡的角色,因為他故事中的科學主題,以及他通常是如何憑借自己的大腦、智慧和對科學事實的簡單了解打敗更強大的敵人的。
當我成為一名程序員時,我對書籍的熱情還在繼續(xù)。除了大學里的教科書,我讀的***本Java書籍是Head first Design Pattern。這本書完全改變了我對Java的知識和對面向?qū)ο缶幊痰睦斫狻?nbsp;
直到那時,我才明白這個接口的真正用途。對我來說,它們看起來毫無用處,因為您無法編寫代碼來執(zhí)行任何操作。但是,讀了這本書之后,我意識到它們在減少程序不同部分之間的耦合方面是多么的棒。
從那時起,我讀過很多編程書籍,大部分都與Java有關。今天,我將分享每個Java開發(fā)人員都應該閱讀的10本***的Java書籍。即使其中有些知識在現(xiàn)在看來是過時的,可從中學到的大部分內(nèi)容都會幫助你積累業(yè)務知識以及提升自己職業(yè)素質(zhì)。
Java程序員的Top10本書籍
下面是我為Java程序員列出的一些***、最重要的書籍。如果您已經(jīng)做了2到3年的Java程序員,那么您很可能已經(jīng)讀過這些書了。但是,如果你還沒有讀過,現(xiàn)在是閱讀它們的***時機。你不會后悔把你的時間和金錢投資在這些書上,因為回報是***的。
1. Effective Java(有效的Java)
相信這本書出現(xiàn)在***位,不會有任何意外。約書亞·布洛赫的《有效Java》是有史以來***的Java書籍。對于任何經(jīng)驗級別的Java程序員來說,這絕對是一本必讀的書。你會學到很多關于Java和它的API的知識。
事實上,Joshua Bloch自己就是幾個關鍵Java類和API(例如Java)的作者。lang和Java集合框架,是閱讀這本書的充分理由。除此之外,他的寫作風格也非常棒。
你可以在海灘上閱讀這本書,也可以在旅行中閱讀,也可以在辦公桌前閱讀。這是可怕的。毫無疑問,在閱讀這本書之后,您將成為一個更好的Java程序員。
最重要的是,現(xiàn)在有了一個新的有效Java版本,它涵蓋了Java 7、8和9,現(xiàn)在讀這本書再好不過了。
2. Clean Code
Java程序員的另一個永恒經(jīng)典是干凈的代碼。正如標題所示,它教會您編寫更好的代碼,這是一件非常難學的事情。說實話,學習Java很容易,但是編寫更好的Java代碼卻很難,因為它使用了強大的OOP原則,而這正是本書的精髓之所在。
與約書亞·布洛赫相似,羅伯特·c·馬丁(Robert C. Martin)也被稱為鮑勃叔叔(Uncle Bob),他是一位優(yōu)秀的作者,分享了他作為一名軟件開發(fā)人員的許多經(jīng)驗,教會了你各種編程技術和實踐,對你作為程序員的日常工作有很大幫助。
3. Java Concurrency in Practice(Java并發(fā)編程實戰(zhàn))
多線程和并發(fā)性是Java編程的重要部分。在實踐中,沒有比Brian Goetz的Java并發(fā)更好的書來學習和掌握這個棘手的主題。
盡管這本書只涉及Java 5,但它對于任何認真的Java開發(fā)人員來說都是必讀的書籍。
有些人可能會發(fā)現(xiàn)有些部分有點難以理解,特別是3.5.1到3.5.6節(jié),如果是這樣,我建議您通過Heinz Kabutz博士的Java -并發(fā)性能課程。這將有助于你更好地理解和理解這些主題。
4. Head First Design Patterns
了解OOP和設計模式對于編寫任何Java應用程序都很重要。Head First設計模式是學習這樣做的***的書。
正如我之前說過的,這是我在Java上讀過的***本書,除了教科書。看完這本書,我很感動。這本書教會了我為什么組合比繼承更好,以及如何在不修改已經(jīng)測試過的代碼的情況下更改類的運行時行為。
您可能認為這只是另一本舊書,但不必擔心,幾年前發(fā)布了一份關于Java SE 8的更新版本。
如果您認真地學習Java中的設計模式,那么您應該閱讀這本書!
5. Spring in Action
對不起,我必須在Java程序員的經(jīng)典書籍列表中包含一本Spring book, Spring in Action。Spring是有史以來***的Java框架,這是了解Spring框架的***的書,但是——老實說——這本書不僅僅是一本Spring的書。
雖然無法解釋,可在閱讀了這本書的第4版之后,我對Java和編寫更好的代碼有了很多的認識。
書中有一個主題,例如JDBC,并解釋了JDK哪里出了問題,以及Spring如何糾正錯誤,例如SQLException,這是一個通用的異常,表示某件事出了問題,但并不確切地指出問題出在哪里,以及如何處理它。
就像Josuha Bloch和Uncle Bob一樣,Craig Walls也是一位偉大的作家,通過閱讀這本書,你會學到比Spring更多的東西。
6. Test Driven(測試驅(qū)動)
自動化測試是一項重要的技能。對于開發(fā)人員來說,一切都從單元測試開始。Java從一開始就有幸擁有JUnit,但是僅僅知道這個庫并不能使您成為能夠編寫測試的專業(yè)程序員。
它所需要的遠不止了解單元測試庫(如JUnit或Mockito),這也是這本書的用處所在。如果您認真對待代碼質(zhì)量和編寫單元、集成和自動化測試,那么在2018年您將閱讀《測試驅(qū)動》這本書。
7. The Definitive Guide to Java Performance(Java性能權威指南)
成為更好的Java開發(fā)人員的另一個方面是了解JVM、垃圾收集和性能調(diào)優(yōu)。雖然有一些關于這個主題的好書,例如Binu John和Charlie Hunt的Java性能,但是Scott Oaks關于Java性能的權威指南是我最喜歡的。
盡管它只涵蓋了JDK 7,但您將了解很多關于性能調(diào)優(yōu)和JVM的知識,這完全證明了您將在這本書中花費的時間和金錢是合理的。
8. Head First Java
有多少人是通過閱讀這本書開始學習Java的? 嗯,我就是。在我了解了Head First Design Pattern之后,我也找到了這本書,Head First Java,我非常喜歡讀它。我學到了很多Java概念,我的許多誤解也被糾正了。
盡管許多人認為這是一本過時的書,但我仍然覺得它是一本非常適合剛開始使用Java的書,因為它獨特的風格和內(nèi)容。
通過閱讀本書,您可以輕松了解Java 8、Java 9和Java 10對其他版本的更改。
9. Head First Object-Oriented Analysis and Design(面向?qū)ο蠓治龊驮O計)
在最偉大的Java書籍列表中,這是另一本“Head First”的書。是的,他們簡直太棒了。
Head First面向?qū)ο蟮姆治龊驮O計為Java程序員形成了“Head First”三部曲,即Head First Java、Head First Design Patterns和Head First OOAD。
它實際上補充了Head First的設計模式,解釋了面向?qū)ο缶幊毯驮O計的技術。
我從這本書中學到的最重要的技術是為接口編碼,以及如何封裝更改。這本書僅僅改變了我編寫Java代碼的方式。
10. Java: A Beginner's Guide(Java初學者指南)
如果你需要一本全面的Java書,應該就是這個。盡管標題上寫著Java:初學者指南,但它是學習Java最完整的書籍之一。
Herbert Schildt先生在保持這本書的***進展方面也做了一件值得稱贊的工作,例如,這本書的第七版現(xiàn)在涵蓋了Java 9。
但是,我不知道他將如何保持這本書的***發(fā)展,因為Java從Java 10開始的新的6個月發(fā)布周期。
好了! 這些是Java程序員***的書籍。如果您是一個熱情的Java程序員,那么您很可能已經(jīng)閱讀了其中的大部分書籍。但是,如果你還沒有讀過,那么2018年或許正是閱讀這些書的***時機。你可以在任何可能的地方選擇這本書的***版本。