Java Web 開發書籍

以下是對一些讀過的書和一些買後隨便翻了翻的書的個人感覺。
都是java web開發的程序員可能接觸的書,其他的如設計/手機開發/其他語言的書就不寫了,因爲自己只做過java web開發,那些書沒什麼資格評判。
因爲不是每本書都翻開確定一下再寫的,可能有張冠李戴或記憶錯誤的情況,如發現了請指正。
如有好書我這裏沒列舉到的,請補充。此書單將持續完善。

js書籍:

《Javascript權威指南》犀牛書
厚,唯一的頂尖著作,上冊的每個章節都將一個知識點深入挖掘講透,必看。下冊API無關緊要。

《Javascript高級程序設計》
厚,與犀牛書有很大重疊,但感覺各個方面都不如犀牛書。可以看犀牛書之後隨便翻翻這本書,有的地方可做補充。

《Javascript精粹》蝴蝶書
薄,讓人喜歡javascript的一本書。

《Javascript DOM編程藝術》
薄,最佳入門書沒有之一,對新手來說,前兩本太厚讓人望而生畏心生恐懼,這本書是優選,豆瓣評分高達8.7。

css書籍:

首先入門還是w3school的教程。大部分作爲非美工的程序員就夠用了。
看過幾本不錯的書但忘了名字,待補充。

《精通CSS高級WEB標準解決方案》
《CSS設計指南》
入門之後可以用來提高。

《CSS禪意花園》
非新手向,更適合已經熟悉之後尋找靈感和……欣賞藝術。

html的書籍:
……w3school的教程足夠了,講js和css的書裏都會講。

前端性能:

《構建高性能web站點》
《高性能網站建設指南》
類似的兩本薄書,都看過之後會覺得自己無敵了,不想看書YSlow的軍規其實也夠了,重要的是要知其所以然。

rest:

《REST實戰》
厚書,沒看呢,老外的很多理論書籍過於想當然和自我神化,不接地氣讓人不喜,講到後面敏捷的地方還會議論。

《圖解HTTP》
倒是http協議的理解至關重要,有語義的東西不用白不用,method啦,狀態碼啦,但不要宗教般地摳,比如put和post誰增誰改啥的。
這本書萌萌噠。

前端框架:

《鋒利的jquery》
其實就是jqueryAPI的加強版,覺得jqueryAPI足夠的話就不用看這本了。

《jquery技術內幕》
與《struts2技術內幕》《spring技術內幕》一系列的好書,講源碼的。這三本書都值得一看。但注意“源碼無用論”和“源碼神聖論”都不可取。

《深入淺出extjs》
可能是extjs唯一的一本可讀的書。非常不喜歡這個框架的思想。html和css都喪失了權力一切由它來託管了,未免權力慾過於旺盛。
真正要用ext的話,官方demo和api是最好的選擇,尤其是demo。

《用AngularJS開發下一代web應用》
《單頁web應用 Javascript從前端到後端》
《Backbone.js實戰》
mv*框架大熱以來較熱的幾個框架,對這幾個框架都只有摸索,感覺angularJs風險略大,有點像extjs的想當然,一切都要在它內部來,如果能解決當然省時省力,如果不能解決就糟了。但問題是千變萬化的。backbone較輕量,功能弱,風險低,功能弱與風險低從來都是共同出現。
另外還有requireJs,也應該研究研究,這些前端架構級框架都不熟。本能地覺得不切實際,但還是該研究研究再下結論。
傳統開發中使用的前端技術,毫無疑問jquery是槍王之王。

《Bootstrap用戶手冊》
《深入理解Bootstrap》
前者超薄,完全不需要,看Bootstrap官網即可(版本更新時中文官網可能跟最新版本對不上,推薦英文官網)。後者是好書,講應用也講源碼。
基於Bootstrap的前端CSS框架Metronic超酷,頁面常用的組件裏面都有,其實就是個最佳實踐的大整合大雜燴,裏面沒有的自己找Bootstrap插件就好。
Bootstrap的偉大在於作爲一個腳手架,給各種js組件提供平臺,只要都是bootstrap版的插件,整合起來樣式一致性一般沒什麼問題。

java基礎書籍:

《scjp考試指南》
無數次被人求推薦書籍,無數次說出這本書之後被鄙視:“我不是爲了考證”。但這本書真不是隻能用來考證。
對j2se的講解,既簡約又精當,知識足夠,又不會把人嚇走的書,當然是入門的不二之選。

《Thinking in Java》
java界的頂級圖書,每個章節都深入講一個點,可以通讀一遍,然後按需再翻具體章節強化。跟《Javascript權威指南》讀法是一樣的。
但初學者不適合讀這本書,已經無數人說過了。但從別的語言轉java的人可以直接讀這本書。

《Core Java》
評價很高,個人不喜歡,就像《Javascript高級程序設計》被《Javascript權威指南》全面壓制一樣,《Core Java》也活在《Thinking in Java》的陰影之下。

《Java解惑》
好玩的書,讓你喜歡“有趣的”java。

《深入理解Java虛擬機》
《深入java虛擬機》
知其然又知其所以然,java虛擬機的內部原理,理解了沒壞處。

《Effective Java》
最喜歡的書之一,箴言式的規諫,作者的經驗之談,告訴你怎樣寫出優雅的代碼。

java web基礎書籍:

《scwcd考試指南》
《Head First JSP & Servlet》
《scwcd考試指南》與《scjp考試指南》一系列,但質量不高。相比之下scwcd的官方推薦教材《Head First JSP & Servlet》(該系列中文版都譯爲深入淺出xxx)更好。
這兩本書都是將jsp的標籤講的很透,但如果使用jstl和el,兩本書講的都稍嫌不足,需要另查資料。

java性能書籍:
《java程序性能優化》
《java性能優化權威指南》
《web性能測試實戰》
《零成本實現web性能測試——基於Apache Jmeter》
《Java併發編程實戰》
經驗型書籍,沒什麼好說。
因爲我也就是粗粗看過。但知道都是好書。

java框架書籍:

《struts2技術內幕》
《spring技術內幕》
《Spring3.x企業應用開發實戰》
都來自iteye博主的手筆,第1本和第3本尤爲推薦。《strut2技術內幕》的哲學思辨之美讓我驚爲天人,《Spring3.x企業應用開發實戰》的實用和接地氣也讓人愛不釋手,國內的程序員高手寫的書比起國外的官方/經典著作,更適合中國人閱讀。不要崇洋媚外。當然想看第一手資料那還是國外的好。

《Hibernate實戰》
Hibernate作者Gavin King的作品,夠權威吧。但個人也不喜歡Hibernate,這麼多年都沒能用純熟,類似對Extjs的不喜歡一樣,前者嘗試解決O/R的不匹配,後者嘗試解決O/DOM的不匹配,一切以OO爲目標,強力扭轉乾坤,這屬於逆天行事,當然做的都很出色。但感覺像逆練《九陰真經》練出絕世武功,走錯的路,居然成績斐然,讓人讚歎你的強大,但不是說你成績斐然就不是錯而是對了。

Mybatis的好書籍沒發現過,而且已經有中文文檔了。

《深入淺出Hibernate》
《spring2.0技術手冊》
兩本經典的好書,有一點點古老了,前者用來Hibernate入門的話還是不二之選,另外滿江紅的中文文檔都非常棒。

至於java的優秀類庫基本都是開源的,到官網找demo/文檔/API足矣。類庫一般較小較輕,英文文檔硬看也能看下來。框架較重,中文講原理的書看了提綱挈領,否則容易陷入迷霧不能自拔。
類庫和框架的區別是什麼?答:控制反轉。

至於一些java技術就不贅述了,SpringSide本身就是個大目錄,沿着它給打開的窗戶們一樣樣探究吧。

設計模式書籍:

《Head First設計模式》
《設計模式之禪》
《java與模式》
《設計模式java中的應用》
……
設計模式的書沒有特別好的也沒有特別糟的,不同作者其實也沒有什麼發揮的餘地,都是講那些東西,所以都很像。
設計模式的要點是通讀,都理解了,在腦海中留存,以後寫程序適當的時候設計模式自然會蹦出來。
個人感覺最好用的,工廠單例原型迭代這些最簡單的不說了,門面調停者這些偏架構的也不說了,最好用的是:適配器,策略,模板,另外組合、訪問者、裝飾器等各有各的用。橋接一直沒有很好的理解。享元輕易用不上。代理spring的aop幾近完美不用自己玩。解釋器用的機會也不多。別的看情況使用。

《反模式》
介紹的是一些理論上不合理、但非常普及、能解決某些問題的“反模式”。
把“反模式”一錘子打死也不對,但不是非用不可的情況還是輕易不要用。

架構思想書籍:

《企業應用架構模式》
Martin Fowler的不朽著作,也是其人最好的一本書,十幾年前的書,牛到了其中的種種思想,現在看來都是理所當然了,可見其影響力和普及程度。

《Expert One-on-One J2EE Development without EJB》
《J2EE設計開發編程指南》
java界的巨人,Spring作者Rod Johnson的封王之作,這兩本書同時期出現的spring徹底改變了java世界的格局,用老爵爺的語氣說,將他媽的EJB從王座上拉了下來。
“水,善利萬物而不爭,處衆人之所惡,故幾於道。”——《道德經》中的這句話,個人感覺可以用來讚頌Spring的偉大。
唯一的頂級框架,java界的萬王之王。
個人非常崇拜的SpringSide正是以Spring爲核心,提供的最佳實踐的展示。功德無量。

《J2EE核心模式》
更早的書了,有空可以讀讀,不是特別必要。

《大型網站技術架構》
《軟件架構設計》
國人的書籍,講的是“架構”而不是“框架”了,前一本強烈推薦,淘寶系的書籍都很不錯。

數據庫書籍:

數據庫的思想,行列含義,各種範式什麼的,好理解。
oracle,mysql,sql server…等主流數據庫,書籍都太多了,而且沒有特別出彩的(怎麼出彩?)或者特別差勁的,隨意挑選就可以。不買書網上查資料其實也沒問題。
當然這指的是開發人員使用的數據庫技術,更深的DBA技術我不瞭解,如果以後接觸到再補充。

《Sql反模式》
爲領域建模之後,畫E-R圖,然後建表,是自然而然的事,不需要書籍。
反模式的議論見上文,SQL中也有一些反模式,這本書做了介紹。

編程基礎書籍:

《java數據結構和算法》等數據結構、算法書籍
《編譯原理》
《算法導論》
《計算機程序的構造和解釋》
《編程珠璣》
《代碼大全》
等等……
不用一本本說了,基礎的東西幾十年也不會過時,認真讀了受用無窮。
可惜太過深入,書太厚,節奏太快,一直沒能細讀,有時間讀書也讀更“高層”的書去了,太可惜了。

網絡安全書籍:

《白帽子講web安全》
《Web前端黑客技術揭祕》
中國人寫的安全書籍,做網站的必看,尤其是仇恨值高的。

軟件工程類:

《人月神話》
70年代出的書到現在依然暢銷,永垂不朽的名作,程序員必讀。

《構建之法》
接地氣的著作,軟件開發的全景圖,不是高高在上的指導,而是娓娓道來手把手來教。

《敏捷軟件開發 原則,模式與實踐》
個人看過的敏捷類書籍中相對不錯的。個人認爲敏捷開發宣言背下來,敏捷的價值觀記下來,按實際情況靈活運用就是了。有些敏捷愛好者的宗教式狂熱特別嚇人,簡直走火入魔,不可取。

《高效程序員的45個習慣:敏捷開發修煉之道》
這45個習慣,無論敏捷與否,都是應該具備的,應該說是“優雅的”“職業的”行爲。
很明顯,有些公司的工作不“敏捷”,但不代表程序員不能從這本書中受益。

《代碼整潔之道》
《重構——改善既有代碼的設計》
職業程序員有義務寫好自己的代碼,寫給接手代碼的人,更是寫給半年後的自己。
最基本的職業道德,不需要多說。

轉發自https://www.cnblogs.com/zidafone/p/4142614.html
同時推薦另一個很全的Java 書單
http://www.tiantianbianma.com/java-book-list-all.html/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章