10本書在Java程序員界都是被認為很棒的書除师。當一個程序員開始初學Java時凝化,他的第一個問題應該是如何選擇一本書來作為指導學習Java。這個問題也就表明官辽,相對于其他的教程和博客蛹磺,Java書籍還是很重要的參考,主要表現在以下兩點:
通常書籍是由比較權威的程序員來撰寫的同仆。相比其他媒介萤捆,書籍對于內容的描述更加詳細,解釋更加明確俗批。
1.Head First Java
Head First Java是所有編程或者Java初學者最適合的書籍俗或,我很喜歡輕松和寓教于樂的Head First風格,這應該是最有意思的關于Java的書岁忘。無論是初級辛慰,中級還是高級都能從中有所收獲。學習本書干像,你可以了解到類帅腌,對象,線程麻汰,集合等編程知識速客,還可以了解到泛型,枚舉五鲫,可變參數和自動裝箱等語言特性溺职。本書中還涉及到了Java高級編程中的Swing,網絡編程,IO操作等辅愿,可以讓初學者對Java有比較完整地概念智亮。如果你是一位Java初學者,不要猶豫点待,這本書最適合你了。
2.Head First設計模式
Head First設計模式又是一部Head First系列的書籍弃舒。作者為Kathy Sierra及其團隊癞埠。當我在2006年開始讀這本書的時候,我對設計模式并不是很了解聋呢。設計模式解決什么問題苗踪,怎么解決問題,如何使用設計模式削锰,設計模式有什么好處通铲,這些問題我?guī)缀醵紵o法回答出來。但是當我讀完這本書的時候器贩,一切都豁然開朗颅夺。在本書介紹繼承和組合一章,使用簡單有趣的例子蛹稍,一步一步提出問題并解決問題吧黄,最終得出最優(yōu)解。本書中會有很多要點總結唆姐,幽默對話拗慨,練習題還有有名的單詞接龍等幫助你更好地了解設計模式。如果你想了解Java中的設計模式奉芦,請帶走這本書赵抢。
3.EffectiveJava
Effective Java這本書也是一本我最喜歡的。本書為領導開發(fā)Java集合框架和并發(fā)API包的約書亞·布洛克大神所著声功。本書適合于有著數年開發(fā)經驗Java程序員烦却,通過本書我們可以很多編程中的最佳實踐,并且可以從JDK貢獻者布洛克大神這里汲取經驗减噪。Effective Java從質量短绸,內容和問題解答方式上來說都是一本評價很高的書,因此讀這本書會是一種感覺很棒的體驗筹裕。另外本書的章節(jié)相對比較輕量醋闭,與其他章節(jié)耦合度較低,因此在旅行或者閑暇時間閱讀也是可以的朝卒。在內容方面证逻,Effective Java包含了從靜態(tài)工廠,序列化抗斤,equals和hashcode到泛型囚企,枚舉丈咐,可變參數以及反射的最佳解決方法。本書對Java各方面知識點的講解會讓你受益匪淺龙宏。
4.Java并發(fā)編程實戰(zhàn)
書中的例子簡明扼要清晰棵逊,很能描述問題。解釋明確:本書很好地解釋了什么是錯的银酗,為什么錯辆影,怎樣改正。這也是本書暢銷的原因之一黍特。
又一部約書亞·布洛克大神的經典之作蛙讥,當然本書的另一位主作者為Doug Lea(影響兩次Java歷史上的大變革的大神)。這本書幾乎就是Java并發(fā)和多線程編程方面的權威灭衷,同時也是核心Java開發(fā)人員必讀的一本書次慢。本書的強大主要表現在本書非常詳細地描述了多線程和并發(fā)中的諸多(小)細節(jié)。
本書并非聚焦于核心Java代碼的實現翔曲,而是關注并發(fā)引起的問題迫像,比如死鎖,饑餓部默,線程安全侵蒙,競爭條件,然后提供可行的方法來解決這些問題傅蹂。因此這本書可以很好地幫助開發(fā)者了解并掌握并發(fā)包以及其中的CountDownLatch纷闺,CyclicBarrier,BlockingQueue份蝴,Semaphore這些類犁功。這也是我一遍一遍閱讀這本書的原因。
5.Java Generics and Collections
這本書是來自O’Reilly的一本成功之作婚夫,作者為Naftalin和Philip Wadler浸卦。正如書名可知,這本書的內容關注于泛型和集合這兩個Java語言的核心方面案糙。本書對于那些有編程經驗的程序員加強對集合和泛型的理解和掌握有很大的幫助限嫌。本書詳細介紹了每一個集合的API,Set, List, Map,Queue时捌,以及他們的實現怒医,對比不同場景下它們的性能優(yōu)劣。每個章節(jié)最后的對比圖表很不錯奢讨。
6.Java性能優(yōu)化權威指南
本書重點關注性能監(jiān)視稚叹,性能剖析以及如何使用工具對性能分析。本書不同于其他的編程書籍,因為本書中涉及到很多Java虛擬機的細節(jié)扒袖,垃圾回收機制塞茅,Java堆內存監(jiān)視以及對程序性能剖析。其中講述JVM的章節(jié)寫的很不錯季率,很值得咀嚼野瘦。注意,這本書屬于編程高級層次蚀同,閱讀需要具有足夠的Java編程經驗缅刽。初級和中級Java開發(fā)者也可以閱讀本書也會學到不同程度的干貨。所以蠢络,你想進行性能調優(yōu),把這本書放到你的書架上吧迟蜜。
7.Java Puzzlers
再介紹一本約書亞·布洛克大神寫的書刹孔。本書的另一位作者為Neal Gafter(已轉到微軟做DonetCompiler技術Lead)。本書講述了Java語言中的極端情況和陷阱娜睛。相對于C++髓霞,Java更加安全低風險,JVM有著垃圾回收機制畦戒,讓Java程序員不用關心內存分配和釋放方库,大大提高了程序的開發(fā)效率。但是有些時候障斋,即便是經驗豐富的程序員也會被Java中的極端情況或陷阱給絆倒纵潦。本書列舉并詳細描述了Java中的這些陷阱。如果你喜歡刨根問底垃环,鉆牛角尖邀层,這本書就是為你而寫。通過本書遂庄,你可以了解很多java的核心知識并對自己的Java水平有所知曉寥院。本人更加喜歡上面提到的約書亞·布洛克的EffectiveJava和Concurrency Practice in Java。但是如果你感興趣涛目,還是可以去嘗試的秸谢。為了讓收獲最大化,你可以先嘗試解決書中的問題霹肝,然后對著書中的解釋進行比較估蹄。
8.Head First Object Oriented Analysis and Design
這是一本屬于Head First系列的關于面向對象編程的書。本書建議和Head First設計模式結合閱讀阿迈,效果更佳元媚。本書關注于面向對象設計原則,比如多用組合少用繼承,針對接口編程而非針對實現編程刊棕,不要重復你自己等炭晒。這本書可以幫助你寫出好代碼并且參考最佳實踐進行優(yōu)化改善。當然本書中的內容也適合使用其他面向對象的語言的程序員甥角。想學好面向對象編碼和設計規(guī)則网严,現在就開始讀這本書哈。
9.ThinkinginJava
Thinking in Java book應該是Java中文界最有名的書籍了嗤无,中文又名Java編程思想震束。作者為Bruce Eckel,他也是Thinkingin
C++的作者当犯,他用自己很獨特的觀點講述了Java垢村。據我所知,這本書獲得了很高的認可嚎卫,本書是一本介紹齊全的Java學習參考書嘉栓。如果你不喜歡Head First類似小人書那樣的講解,可以嘗試這本書拓诸。本書的內容講解詳細侵佃,成熟(相對Head First有種教科書的感覺)。
10.Java程序員修煉之道
《Java程序員修煉之道》分為四部分奠支,第一部分全面介紹Java 7的新特性馋辈,第二部分探討Java關鍵編程知識和技術,第三部分討論JVM上的新語言和多語言編程倍谜,第四部分將平臺和多語言編程知識付諸實踐迈螟。從介紹Java 7的新特性入手,《Java程序員修煉之道》涵蓋了Java開發(fā)中最重要的技術枢劝,比如依賴注入井联、測試驅動的開發(fā)和持續(xù)集成,探索了JVM上的非Java語言您旁,并詳細講解了多語言項目烙常,特別是涉及Groovy、Scala和Clojure語言的項目鹤盒。此外蚕脏,書中含有大量代碼示例,幫助讀者從實踐中理解Java語言和平臺侦锯⊥毡蓿《Java程序員修煉之道》適合Java開發(fā)人員以及對Java7和JVM新語言感興趣的各領域人士閱讀。
以上就是我推薦給Java開發(fā)者們的一面試經典題目尺碰。但是這些題目里面并沒有太多Java全棧挣棕、Java晉階译隘、JAVA架構之類的題,不是我不推薦洛心,而是希望大家更多的從基本功做起固耘,打好基礎,太多復雜的內容一會兒也說不明白词身。
好了同學們厅目,我能介紹的也都全部介紹完給你們了,以上的部分就是我想說的內容法严,如果你也想在IT行業(yè)拿高薪损敷,可以參加我們的JAVA全棧晉階訓練營課程,選擇最適合自己的課程學習深啤,技術大牛親授拗馒,7個月后,進入名企拿高薪溯街。我們的課程內容有:反射原理瘟忱、枚舉原理與應用、注解原理苫幢、常用設計模式、正規(guī)表達式高級應用垫挨、JAVA操作Office原理詳解韩肝、JAVA圖像處理技術,等多個知識點的詳解和實戰(zhàn)九榔。如果你想拿高薪的哀峻,想學習的,想就業(yè)前景好的哲泊,想跟別人競爭能取得優(yōu)勢的剩蟀,想進阿里面試但擔心面試不過的,你都可以來切威,群:240448376注:加群要求
1育特、具有1-3工作經驗的,面對目前流行的技術不知從何下手先朦,需要突破技術瓶頸的可以加缰冤。
2、在公司待久了喳魏,過得很安逸棉浸,但跳槽時面試碰壁。需要在短時間內進修刺彩、跳槽拿高薪的可以加迷郑。
3枝恋、如果沒有工作經驗,但基礎非常扎實嗡害,對java工作機制焚碌,常用設計思想,常用java開發(fā)框架掌握熟練的就漾,可以加呐能。
4、覺得自己很牛B抑堡,一般需求都能搞定摆出。但是所學的知識點沒有系統(tǒng)化,很難在技術領域繼續(xù)突破的可以加首妖。
5.阿里Java高級大牛直播講解知識點偎漫,分享知識,多年工作經驗的梳理和總結有缆,帶著大家全面象踊、科學地建立自己的技術體系和技術認知!
6.小號或者小白之類加群一律不給過棚壁,謝謝杯矩。
最后,每一位讀到這里的網友袖外,感謝你們能耐心地看完史隆。覺得對你有幫助可以給個喜歡!希望在成為一名更優(yōu)秀的Java程序員的道路上曼验,我們可以一起學習泌射、一起進步