學習Java最痛苦的事情莫過于對未來職業方向的選擇。尤其是選擇開發Java Application還是Java Web方向,在你先定好大類後還有數不盡的小類教你無從學起。
是以,作為初學者的你必須看完本文。從中你将了解到如何學習Java并選擇适合自己的Java。
我想就我自己讀過的技術書籍中挑選出來一些,按照學習的先後順序,推薦給大家,特别是那些想不斷提高自己技術水準的Java程式員們。
一、Java程式設計入門類
如果你是初學者,僅僅學過一點C語言或VB國文,對于沒有Java程式設計經驗的程式員要入門,随便讀什麼入門書籍都一樣,隻要你認真的學習JAVA,這個階段需要你快速的掌握Java基礎文法和基本用法,宗旨就是“囫囵吞棗不求甚解”,先對Java熟悉起來再說。
用很短的時間快速過一遍Java文法,連懵帶猜多寫寫代碼,要“知其然”。沒錯,你就要在知其然不知其是以然,前期隻要求你掌握JAVA的大體架構,然後我們再進入深層次的學習JAVA。下面我們介紹第一本Java書籍。
1、《Java程式設計思想》

在你學會了一些基礎的 JAVA文法及類後,,你需要“知其是以然”了。這個時候強烈推薦你學習《Java程式設計思想》是一本讓你知其是以然的好書,它對于基本的面向對象知識有比較清楚的交待,對Java基本文法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java程式設計基礎。
在看《Java程式設計思想》這本書,你一定要注意,因為它實在是太厚了,要小心不要砸到自己的腳,也比較羅嗦,不适合現代人快節奏學習,是以看這本書要懂得取舍,不是每章每節都值得一看的,挑重點的深入看就可以了。另外,當你看完《Java程式設計思想》後,也可以把它當作枕頭用。睡醒後還能拿來看幾眼,簡直是一本居家旅行,學習進步不可多得之物。
2、《Agile Java》中文版 (這是第二本了呵)
《Agile Java》中文版這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的過程中,潛移默化的影響你的程式設計思維走向靈活,走向TDD。TDD的最大優點在于它可以改變你對JAVA的思維模式。
另外這本書是最近出來的,以JDK5.0的文法為基礎講解,要學習JDK5.0的新文法也不錯。雖然作者自己把這本書定位在入門級别,但我不确定這本書用來入門是不是稍微深了點,我自己也準備有空的時候翻翻這本書,學習學習。
本文系 “JAVA程式員必看書籍系統之一的:JAVA程式設計類入門書籍”
Java程式員必看的15本書:Java程式設計進階類
[日期:2008-09-03] | 來源:Sun Microsystem 作者:志偉 |
二、Java程式設計進階類
打算以程式為生的程式員們,在學期完基礎的Java入門後,要再接再厲學習Java的重構及架構了。打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在程式設計生涯的這個階段閱讀,培養良好的程式設計習慣,提高你的代碼品質。
1、《重構 改善既有代碼的設計》
業内非常有名的書,幾乎是所有JAVA進階級高手必看的一本書。其實不論你是JAVA高手還是JAVA菜鳥,我都推薦你看一下這本有關JAVA重構的書。别等你的程式員朋友問你是否看過《重構 改善既有代碼的設計》 時,你尴尬地告訴其它JAVA程式員說沒看過呵。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。你可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。Very Tiny的一本書,看起來很帶勁,通俗易懂。是你學習TDD的簡易途徑。
Java程式員必看的15本書:Java架構師之路
[日期:2008-09-03] | 來源:Sun Microsystem 作者:志偉 |
三、Java架構師之路
哇~你已經學到了JAVA架構師的水準了,現在的你應該已經非常娴熟的運用Java程式設計,而且有了一個良好的程式設計思路和習慣了,但是你可能還缺乏對應用軟體整體架構的把握,現在就是你邁向架構師的第一步。你準備好了嗎?OK.Let's GO!準備好看你一個經典入門JAVA架構師的書籍吧。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
咱也不說了,這本書估計全世界學JAVA的有一半都會看一看,但看得明白和看得懂的估計能有百分之一就不錯了。
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在我所推薦的這些書籍當中,是我看過的最仔細,最認真的書,我當時讀這本書幾乎是廢寝忘食的一氣讀完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講内容和自己的經驗知識一一印證,又被無比精辟的總結出來,讀完這本書以後,我有種被打通經脈,功力爆增的感覺。
3、《企業應用架構模式》
Martin的又一本名著,但這本書我隻是泛泛的看了一遍,并沒有仔細看。這本書似乎更适合做架構的人去看,例如如果你打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,我還是推薦認真看看,會讓你知道架構為什麼要這樣設計,這樣你的層次可以晉升到架構設計者的角度去思考問題。Martin的書我向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《靈活軟體開發 原則、模式與實踐》
Uncle Bob的名著,靈活的經典名著,這本書比較特别,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。
四、軟體開發過程
了解軟體開發過程不單純是提高程式員個人的良好程式設計習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML使用者指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限程式設計 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟體開發過程》UP
其實UP和靈活并不一定沖突,UP也非常強調疊代,測試,但是UP強調的文檔和過程驅動卻是靈活所不取的。不管怎麼說,UP值得你去讀,畢竟在中國真正接受靈活的企業很少,你還是需要用UP來武裝一下自己的,哪怕是披着UP的XP。
4、《靈活模組化》AM
Scott Ambler的名著,這本書非常的progmatic,告訴你怎麼既靈活又UP,把靈活和UP統一起來了,又提出了很多progmatic的建議和做法。你可以把《解析極限程式設計擁抱變化》、《統一軟體開發過程》和《靈活模組化》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那麼你也可以去寫書了。
Java程式員必看的15本書:Java軟體項目管理
[日期:2008-09-03] | 來源:Sun Microsystem 作者:志偉 |
五、JAVA軟體項目管理
如果你突然被上司提拔為項目經理,而你完全沒有項目管理經驗,你肯定會心裡沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的進階參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。
這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似于“軟體項目點子大全”之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及應該如何解決問題的點子,你隻需要稍加變通,找方抓藥就行了。
六、總結
在這份推薦閱讀書籍的名單中,我沒有列舉流行的軟體架構類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得你去購買和收藏。