search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

9本Java程序員必讀的書

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

●通常書籍是由比較權威的程序員來撰寫的。

●相比其他媒介,書籍對於內容的描述更加詳細,解釋更加明確。

本文列出的九本書是我個人非常喜歡的Java書籍,當我有時間的時候,我就會將它們捧在手裡閱讀。甚至有些書我反覆讀過很多遍,每次重新讀的時候總會有新的收穫。因此這些書也是大部分Java程序員喜歡的書籍。

Head First Java

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

Head First 設計模式

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

Effective Java

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

Concurrency Practice in Java

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

●本書非常詳細地描述了多線程和併發中的諸多(小)細節。

●本書並非聚焦於核心Java代碼的實現,而是關注併發引起的問題,比如死鎖,飢餓,線程安全,競爭條件,然後提供可行的方法來解決這些問題。因此這本書可以很好地幫助開發者了解並掌握併發包以及其中的CountDownLatch,CyclicBarrier,BlockingQueue,Semaphore這些類。這也是我一遍一遍閱讀這本書的原因。

●書中的例子簡明扼要清晰,很能描述問題。

●解釋明確:本書很好地解釋了什麼是錯的,為什麼錯,怎樣改正。這也是本書暢銷的原因之一。

Java Generics and Collections

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

Java performance

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

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系列的關於面向對象編程的書。本書建議和Head First設計模式結合閱讀,效果更佳。本書關注於面向對象設計原則,比如多用組合少用繼承,針對介面編程而非針對實現編程,不要重複你自己等。這本書可以幫助你寫出好代碼並且參考最佳實踐進行優化改善。當然本書中的內容也適合使用其他面向對象的語言的程序員。想學好面向對象編碼和設計規則,現在就開始讀這本書哈。

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 系列我已經反覆閱讀了很多遍。相信看完本文,根據自己的水平和想要提升的知識側重,你應該能選出最適合自己的書了。

學習Java的同學注意了!!!

學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入Java學習交流群,群號碼:392216227我們一起學Java!



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦