各位親愛的碼農(nóng),不管你是剛入門的新手,還是進階高手,本文推薦了多本Java進階專業(yè)書籍,是殿堂級和化石級收藏佳作。
1.《Java編程思想》
這本書適合開發(fā)過一兩個項目,對java已經(jīng)有一定的了解的人。
這本書首先不是java的入門書,雖然這本書介紹了一部分語法,但是更多內容是java特性的講解,里面的用例水平非常高,對于面向對象講解,接口,內部類,容器,多線程,I/O的講解很透徹同時又很深刻,他會告訴你,在什么情況下你應該作何選擇。以及各種選擇的利弊。這本書不適合從頭看到尾,適合在迷惑不解的 時候,帶著疑問去翻,讓你的求知欲帶著你去看書,而不是給自己定一個Java編程思想的讀書計劃。
2.《深入剖析Tomcat》
試讀人群:做過兩三個項目,對面向對象設計有一定了解,設計模式似懂非懂,想好好看看什么是面向接口編程,對serlet的加載,映射,及整個http請求處理流程感興趣,不能容忍自己的知識體系存在黑箱的人。認為Java后臺開發(fā)僅僅是CRUD的人。
Tomcat大家都很熟悉了,不論我們做的課程設計的小項目,還是淘寶天貓等每天PV訪問量過億的大型網(wǎng)站都在用,你還敢瞧不起它嗎?還是認為入門的技術 不值一提嗎?
你可能更換數(shù)據(jù)庫框架,mvc框架,容器,但是很少有人換掉Tomcat。為什么,因為她是一個優(yōu)秀的設計(幫你做了很多,但在可定制性方面不如Jetty)。
這本書從一個簡單的socket B/S 程序入門,作者從頭編寫連接器,處理器,請求(request),處理(response)開始講解tomcat的設計理念,中間講Tomcat4及5的源碼,講解tomcat核心的設計 Container 四大容器 ,然后講解tomcat安全,權限,以及配置文件的讀取,java對象的管理 ,定制性Tomcat 項目管理的后臺(就是你訪問tomcat路徑的根路徑進入的管理網(wǎng)站)。這本書適合于,心無旁騖,沒有項目,沒有太多事的情況下,對照實際的源碼,一行行的讀,明白處理流程,了解什么時候是優(yōu)秀的代碼?擴展性,健壯性
3.《深入理解Java虛擬機》
適度人群:想學習并發(fā)編程,反射,想了解JVM優(yōu)化。閑著無聊,沒項目的人
首先這本書可能有點枯燥,沒有什么用,真的,對于你現(xiàn)在的實際項目沒有直接用處,但是,你要想在java方面研究得更深,不可避免,你需要對jvm及其優(yōu)化,java的內存模型,java類的加載機制,字節(jié)碼文件到底是什么,以及并發(fā)編程,Java性能優(yōu)化等方面有所了解。,你需要好好讀這本書,可能比較枯燥,有點難,但是他值得你用心讀 。
4.《設計模式-可復用軟件的設計》 GoF(《設計模式的藝術之道》劉偉)
適讀人群:有過三四大小個項目經(jīng)驗,想了解什么是軟件,什么是程序,什么是面向對象,只有讀了這本書,你才知道除了算法,性能,之外,我們還要為之奮斗是擴 展性,究其原因是:軟件行業(yè)的梗,需求變更,可能項目初期的需求和項目開發(fā)后期的需求有天壤之便,但如何在設計階段就為需求的變動做好準備,那就是對變化 的部分抽離抽象,分層,分工,雖然提高了復雜度,但是后期我們可以輕松一點,如果前期不設計好,真的 一個項目可以在需求變化面前,徹底玩完。根本無法繼續(xù)開發(fā)。如果你還沒接觸到 需求變更,只能說你的客戶不太重視他的項目,或者客戶本身就是程序員自己。一個main函數(shù)一個人從頭寫到尾不是軟件。
作者從創(chuàng)建型,結構性,行為型三個方面詳細介紹了23種設計模式,字字珠璣,耐心的看,耐心的 理解,把這本書和Java編程思想放在一起,沒事就翻翻看,沒準哪一天你在寫程序,發(fā)現(xiàn),如果 我這么設計,后面的開發(fā)我可以非常輕松的。那時,你一定要感謝作者總結了這些設計模式??赡蹽OF的書距今不叫遙遠,設計案例比較陳舊,所以可以同時看《設計模式的藝術之道 》這本書同樣不錯,例子可能更容易理解一些。
軟件行業(yè)的圣經(jīng)之作,只要你做技術,你應該時常翻翻看。
5.《JavaScript編程全解》(JavaScript高級程序設計)
適讀人群: 學會基本的 javascript dom編程,jquery,做過兩三個項目,但是沒有系統(tǒng)的學習javascript,總是在為一些語法,或者莫名其妙的 錯誤煩惱的人,這本書適合你,應為他就是寫給java程序員的Javasript書籍 。
Java程序員進階,為什么要談JavaScript,我個人不喜歡JavaScript,應該我找了半天錯,可能就是因為一個簡單的語法錯誤,還有就是只能操作控件,我一直希望前端人員可以幫我做這些事,后來發(fā)現(xiàn)這幾乎不可能,JavaScript還得自己寫,可能以后工作之后,更得自己寫,所以我想系統(tǒng)學習下 script,后來這本書真的沒有讓我失望,這本書后面高級部分還沒來得及看,但是僅僅在講述JavaScript的語法特性,就有一種如沐春風的 感覺,良心之作 。
有事沒事的可以看看。當然這本書并沒有側重于dom編程,可能我們做的更多是dom編程,所以我還推薦你可以看看JavaScript高級程序設計。我看我們前端美女帥哥 都在看這書,應該還不錯 ,就是有點厚,但是說明講的詳細,可以做工具書。
6.《深入分析javaweb技術內幕》
適讀人群:做過三四個項目,看過上面的 深入剖析Tomcat,深入理解Java虛擬機,設計模式,使用過Spring,mybatis的讀者。
這本書的水平真是很高,說實話,看這本書的時候,我?guī)缀趿飨铝搜蹨I,我能感受到作者真的是用心在寫書,不是為了出版賺版權費,不是為了裝X,而是真的是希望自己當年吃過的苦,別人能少吃一點,別人可以學的更輕松。尤其是作者的細致認真,用工匠精神來說,一點不為過,同時再加上當時看Tomcat源碼時的感想,可以總結 一句話,一個優(yōu)秀的程序員在每一個細節(jié)都精益求精。在他們的知識體系里,永遠不能容忍一個小漏洞存在,在細節(jié)處著手,踏踏實實的寫好每一行代碼。把每一個有疑問的點都在合適的時機解決掉。作者在細節(jié)上擊敗了我。
同時不光在細節(jié)上,作者詳細講述了 Javaweb中 的技術方向,多得數(shù)不清,但是每一章你都感覺不到 作者的 疏漏與不足。博廣精專,這就是本書的作者 值得我們學習的
本文目錄大概包括Java I/o ,字節(jié)碼,編譯,jvm,tomcat,spring,ibatis,等等。
7.《重構改善既有代碼的設計》
適讀人群:掙扎于需求劇烈變更,維護升級的孩子們。
這本書與設計模式并成為軟件行業(yè)的兩本圣經(jīng),雖然我不這么認為,但是毋庸置疑,當你看完這本書,之后,你會更關注你寫的 代碼的的結構,這兩本書都是讓我們可以寫出可維護,可擴展,健壯性強的代碼,這本書就是教你如何修改代碼,如何修改 能夠引入更少的錯誤,同時更加容易維護。作者講述很多的技巧,實用性極強,但是如果 你寫的項目 變動不是很大,或者沒有一些修改代碼的苦痛的經(jīng)歷,可能體會不會很深,這是一本獨立性比較強的 書,看一看是絕對值得的。
8.《操作系統(tǒng)設計 xinu方法》
適讀人群:學習完操作系統(tǒng)課程,想深入了解下操作系統(tǒng)內部的細節(jié),如何實現(xiàn)線程調度,內核態(tài)用戶態(tài)轉化到底是什么,消息循環(huán),進程 管理,等等,你都可以看。
這是一本用C語言寫的書,但是身為Java程序員,*起碼得會C語言,看了這本書有什么好處呢,說實話,對Java的面向對象開發(fā)沒有什么幫助,他的幫助僅僅是在于你對 操作系統(tǒng)的了解更加深刻,當你去看JVM的 時候,可能會輕松一點點,同時他也在告訴你,其實操作系統(tǒng)并沒有那么高不可攀,你就可以從源代碼級別看懂操作系統(tǒng)。同時可能,我覺得當你編寫程序到一定級 別后,走上架構師之路,操作系統(tǒng)是知識體系中不可避免的一個重要環(huán)節(jié)。現(xiàn)在可以打個基礎。這本書適合于操作系統(tǒng)課程上完一大半之后在讀。
一點都不難,真的!
9.《超越傳統(tǒng)的軟件開發(fā)-極限編程的幻想和真實》(《解析極限編程-擁抱變化》《人月神話》)
這三本書都是軟件工程 方向的書籍,關注于如何構造高效開發(fā)流程。在這方面我懂得很少 ,我會找別人再來給大家完善這方面的 知識,但是這三本書肯定都不難,有過項目領導經(jīng)驗 的人來看,收獲一定會更多,其他人隨便看看,你會收獲很多,例如 ,測試先行,結對編程,螺旋開發(fā),循環(huán)迭代,不斷優(yōu)化的理念。等等
10.《Java程序性能優(yōu)化》
適讀人群:做項目 三四個以上,了解java內存模型,以及初步掌握多線程編程,再有就是速度狂們。
這本書從一些編程技巧,性能優(yōu)化的理念,以及多線程并發(fā)編程 的一些 設計模式入手,講解了如何找到項目性能的瓶頸,如何提升系統(tǒng)吞吐量,從細粒度,編程角度去思考這些問題,(而不是分布式處理),真的尤其是后面的多線程部 分,如沐春風,激起了我對并發(fā) 編程的興趣。
11.《Java并發(fā)編程》(《java多線程編程的藝術》)
適讀人群:想深入學習并發(fā)編程,對 jvm內存模型有了解(深入理解jvm虛擬機內本書很重要) 速度狂 ,對java已經(jīng)有了不錯的感覺,感覺 可以代碼水平需要更上一層樓的人
Java并發(fā)編程是Java并發(fā)包的作者寫的,java.util.concurrent 大名鼎鼎,很有名的,學習并發(fā)編程的圣經(jīng)之作,但是不太適合入門,入門需要看看后面的java多線程編程的藝術,一行行的代碼,一個個的小技巧,慢慢來,并發(fā)編程是是否是高級程序員的一個評判標準。
Java并發(fā)編程,你應該時常翻翻看 。
12.《深入分析Spring 技術內幕》
適讀人群:熟悉精通設計模式,對面向接口,對象編程特別有感覺的人。時間充裕
這本書,讓我為之震顫,震顫的原因不是因為 這本書講解多么細致,清晰,而是Spring的開發(fā)團隊為什么把Spring搞得這么復雜,面對 一個個的UML圖,我真的是很捉急,表示看不懂,可能是我本人比較笨。但是要想讀懂這本書,還真需要長時間的閱讀,思考。但是
正如那句話,當你感覺生活艱難的時候,可能你在拔一個大蘿卜,當你真的透徹了Spring,你就不可限量了。國內,應該沒有比這本書更系統(tǒng)從源代碼級別詳細講解Spring的了。
13.《EJB3.0 入門經(jīng)典》
適讀人群: 閑著沒事的人.
這本書放在最后,不是因為他重要,而是因為這本書無關緊要,為什么呢,因為現(xiàn)在的開發(fā),可以不適用EJB,但是你了解他之后,你就明白了什么是分布式程序,什么是程序的分布式部署。同時你還會知道除了Spring容器還有一種容器叫做 EJB,而是還是J2ee的嫡長子,還會明白,為什么在j2ee領域讓野孩子Spring搶了風光。當你學會對比學習兩個 框架的時候,可能你真的是一個 大神了。Spring和EJB就是可以對比的。SpringMVC和Struts,
Hibernate和mybatis, 等等,只有學會對比,才會看得更加廣闊.但首先還是要踏實
14.《架構探險,從零開始Javaweb框架》
適讀人群:想寫框架,對反射,對集合比較熟悉的人;
你可以把這本書,當做自己設計框架的 入門書,可以看到一個框架的編寫是多么的簡單,你應該也學會參與開源項目,這本書不難,但是需要用心去讀。需要 邊看邊敲代碼。什么是Aop,事務處理,mvc框架,等等等等,作者的編碼水平高,實在太高,同時講解的也很透徹
15.《j2ee核心模式》
適讀人群:閑著沒事,想開發(fā)框架的大神
這是Sun公司出版的一本書,對于J2ee的 開發(fā)非常有指導性,里面總結了一些非常實用經(jīng)過實踐檢驗的設計思想,設計技巧,有很多你應用了但是你沒有注意到,例如,一個不好的實踐是控制層有太多的邏 輯代碼,這種情況下,視圖層需求的變動很容易影響到控制層,而你如果利用好”傳輸對象“這個設計技巧,就可以把需求變化控制在業(yè)務處理層和視圖層。
16.《高性能MySQL》(Mysql技術內幕-Innodb引擎)
適度人群:熟練使用Sql,有一般數(shù)據(jù)庫設計經(jīng)驗,對索引,mysql原理,及常用優(yōu)化方法感興趣,以及有志于成為DBA的同學。
談java還是離不開數(shù)據(jù)庫的,開發(fā)中會遇到很多數(shù)據(jù)庫相關問題,尤其是索引部分,這本書介紹的很是透徹,從數(shù)據(jù)類型,索引原理,聯(lián)合索引設計的陷阱,常用優(yōu)化方法,等方面來談,都是可以直接應用到實際工作中的經(jīng)驗。對于后面偏架構運維章節(jié),可根據(jù)個人興趣工作需要而定。
第二本書偏原理,能直接應用于工作的很少,但是讀完之后,還是讓人感覺思維煥然一新,可能感受一下mysql的設計,對于自己以后設計類似功能(事務實現(xiàn),緩沖池實現(xiàn),todo ,undo..,鎖.等)會有很大借鑒意義。
*文章內容和圖片均來源于網(wǎng)絡,如有侵權,請聯(lián)系刪除。
點贊
收藏
稍后學習規(guī)劃師會與您聯(lián)系,請保證手機暢通