自學java看什麼書?

本文列出的10本書在Java程序員界都是被認爲很棒的書。當一個程序員開始初學Java時,他的第一個問題應該是如何選擇一本書來做爲指導學習Java。這個問題也就代表,相對於其餘的教程和博客,Java書籍仍是很重要的參考,主要表如今如下兩點 html

  • 一般書籍是由比較權威的程序員來撰寫的。
  • 相比其餘媒介,書籍對於內容的描述更加詳細,解釋更加明確。

本文列出的10本書是我我的很是喜歡的Java書籍,當我有時間的時候,我就會將它們捧在手裏閱讀。甚至有些書我反覆讀過不少遍,每次從新讀的時候總會有新的收穫。所以這些書也是大部分Java程序員喜歡的書籍。 java

Effective Java


Effective Java

Effective Java這本書也是一本我最喜歡的。本書爲領導開發Java集合框架和併發API包的 約書亞·布洛克 大神所著。本書適合於有着數年開發經驗Java程序員,經過本書咱們能夠不少編程中的最佳實踐,而且能夠從JDK貢獻者布洛克大神這裏汲取經驗。Effective Java從質量,內容和問題解答方式上來講都是一本評價很高的書,所以讀這本書會是一種感受很棒的體驗。另外本書的章節相對比較輕量,與其餘章節耦合度較低,所以在旅行或者閒暇時間閱讀也是能夠的。在內容方面,Effective Java包含了從靜態工廠,序列化,equals和hashcode到泛型,枚舉,可變參數以及反射的最佳解決方法。本書對Java各方面知識點的講解會讓你受益不淺。 程序員

【6月1日-6月15日】買MyEclipse基礎版免費贈送這本書! 編程

 

Java程序員修煉之道


Java程序員修煉之道

Java程序員修煉之道》分爲四部分,第一部分全面介紹Java 7的新特性,第二部分探討Java關鍵編程知識和技術,第三部分討論JVM上的新語言和多語言編程,第四部分將平臺和多語言編程知識付諸實踐。從介紹Java 7的新特性入手,《Java程序員修煉之道》涵蓋了Java開發中最重要的技術,好比依賴注入、測試驅動的開發和持續集成,探索了JVM上的非Java語言,並詳細講解了多語言項目, 特別是涉及Groovy、Scala和Clojure語言的項目。此外,書中含有大量代碼示例,幫助讀者從實踐中理解Java語言和平臺。《Java程序員修煉之道》適合Java開發人員以及對Java7和JVM新語言感興趣的各領域人士閱讀。 設計模式

【6月1日-6月15日】買MyEclipse高級版免費贈送這本書! 安全

 

Head First Java


Head First Java

Head First Java是全部編程或者Java初學者最適合的書籍,我很喜歡輕鬆和寓教於樂的Head First風格,這應該是最有意思的關於Java的書。不管是初級,中級仍是高級都能從中有所收穫。學習本書,你能夠了解到類,對象,線程,集合等編程知識,還能夠了解到泛型,枚舉,可變參數和自動裝箱等語言特性。本書中還涉及到了Java高級編程中的Swing,網絡編程,IO操做等,可讓初學者對Java有比較完整地概念。若是你是一位Java初學者,不要猶豫,這本書最適合你了。 網絡

 

Head First設計模式


Head First設計模式

Head First設計模式又是一部Head First系列的書籍。做者爲Kathy Sierra及其團隊。當我在2006年開始讀這本書的時候,我對設計模式並非很瞭解。設計模式解決什麼問題,怎麼解決問題,如何使用設計模式,設計模式有什麼好處,這些問題我幾乎都沒法回答出來。可是當我讀完這本書的時候,一切都豁然開朗。在本書介紹繼承和組合一章,使用簡單有趣的例子,一步一步提出問題並解決問題,最終得出最優解。本書中會有不少要點總結,幽默對話,練習題還有有名的單詞接龍等幫助你更好地瞭解設計模式。若是你想了解Java中的設計模式,請帶走這本書。 多線程

 

Concurrency Practice in Java


Concurrency Practice in Java

又一部 約書亞·布洛克 大神的經典之做,固然本書的另外一位主做者爲 Doug Lea(影響兩次Java歷史上的大變革的大神)。這本書幾乎就是Java併發和多線程編程方面的權威,同時也是核心Java開發人員必讀的一本書。本書的強大主要表如今 併發

  • 本書很是詳細地描述了多線程和併發中的諸多(小)細節。
  • 本書並不是聚焦於核心Java代碼的實現,而是關注併發引發的問題,好比死鎖,飢餓,線程安全,競爭條件,而後提供可行的方法來解決這些問題。所以這本書能夠很好地幫助開發者瞭解並掌握併發包以及其中的CountDownLatch,CyclicBarrier,BlockingQueue,Semaphore這些類。這也是我一遍一遍閱讀這本書的緣由。
  • 書中的例子簡明扼要清晰,很能描述問題。
  • 解釋明確:本書很好地解釋了什麼是錯的,爲何錯,怎樣改正。這也是本書暢銷的緣由之一。

 

Java Generics and Collections


Java Generics and Collections

這本書是來自O'Reilly的一本成功之做,做者爲Naftalin和Philip Wadler。正如書名可知,這本書的內容關注於泛型和集合這兩個Java語言的核心方面。本書對於那些有編程經驗的程序員增強對集合和泛型的理解和掌握有很大的幫助。本書詳細介紹了每個集合的API,Set, List, Map, Queue,以及他們的實現,對比不一樣場景下它們的性能優劣。每一個章節最後的對比圖表很不錯。 框架

 

Java performance


Java performance

本書爲我我的的最愛,本書重點關注性能監視,性能剖析以及如何使用工具對性能分析。本書不一樣於其餘的編程書籍,由於本書中涉及到不少Java虛擬機的細節,垃圾回收機制,Java堆內存監視以及對程序性能剖析。其中講述JVM的章節寫的很不錯,很值得咀嚼。注意,這本書屬於編程高級層次,閱讀須要具備足夠的Java編程經驗。初級和中級Java開發者也能夠閱讀本書也會學到不一樣程度的乾貨。因此,你想進行性能調優,把這本書放到你的書架上吧。

 

Java Puzzlers


Java Puzzlers

再介紹一本 約書亞·布洛克 大神寫的書。本書的另外一位做者爲Neal Gafter(已轉到微軟作Donet Compiler技術Lead)。本書講述了Java語言中的極端狀況和陷阱。相對於C++,Java更加安全低風險,JVM有着垃圾回收機制,讓Java程序員不用關心內存分配和釋放,大大提升了程序的開發效率。可是有些時候,即使是經驗豐富的程序員也會被Java中的極端狀況或陷阱給絆倒。本書列舉並詳細描述了Java中的這些陷阱。若是你喜歡刨根問底,鑽牛角尖,這本書就是爲你而寫。經過本書,你能夠了解不少java的核心知識並對本身的Java水平有所知曉。本人更加喜歡上面提到的 約書亞·布洛克 的 Effective Java 和 Concurrency Practice in Java。可是若是你感興趣,仍是能夠去嘗試的。爲了讓收穫最大化,你能夠先嚐試解決書中的問題,而後對着書中的解釋進行比較。

 

Head First Object Oriented Analysis and Design


Head First Object Oriented Analysis and Design

這是一本屬於Head First系列的關於面向對象編程的書。本書建議和Head First設計模式結合閱讀,效果更佳。本書關注於面向對象設計原則,好比多用組合少用繼承,針對接口編程而非針對實現編程,不要重複你本身等。這本書能夠幫助你寫出好代碼而且參考最佳實踐進行優化改善。固然本書中的內容也適合使用其餘面向對象的語言的程序員。想學好面向對象編碼和設計規則,如今就開始讀這本書哈。

 

Thinking in Java


Thinking in Java

Thinking in Java book應該是Java中文界最有名的書籍了,中文又名 Java編程思想。做者爲Bruce Eckel,他也是Thinking in C++的做者,他用本身很獨特的觀點講述了Java。據我所知,這本書得到了很高的承認,本書是一本介紹齊全的Java學習參考書。若是你不喜歡Head First相似小人書那樣的講解,能夠嘗試這本書。本書的內容講解詳細,成熟(相對Head First有種教科書的感受)。

這就是個人關於Java編程相關的推薦的書,這些均可以說是當作經典中的經典。像Effective Java 和 Head First 系列我已經反覆閱讀了不少遍。相信看完本文,根據本身的水平和想要提高的知識側重,你應該能選出最適合本身的書了。

相關文章
相關標籤/搜索