作爲Java程序員來說,最痛苦的事情莫過於可以選擇的範圍太廣,可以讀的書太多,往往容易無所適從。我想就我自己讀過的技術書籍中挑選出來一些,按照學習的先後順序,推薦給大家,特別是那些想不斷提高自己技術水平的Java程序員們。
也可以參考很多java教程電子書
比如:
一、java入門書籍
1、《Java編程思想》
2、《Agile Java》中文版
二、Java編程進階類
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閒暇的時候多翻翻,多和自己的實踐相互印證。這本書對產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。可以找一個週末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。
三、Java架構師之路
到這個階段,應該已經非常嫺熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是可能還缺乏對應用軟件整體架構的把握,現在就是邁向架構師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
3、《企業應用架構模式》
4、《敏捷軟件開發原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟件開發過程的書,不如說講軟件架構的書,本書用了很大篇幅講各種面向對象軟件開發的各種模式,個人以爲看了這本書,就不必看GoF的《設計模式》了。
四、軟件開發過程
瞭解軟件開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
2、《解析極限編程 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟件開發過程》UP
4、《敏捷建模》AM
五、軟件項目管理
如果突然被領導提拔爲項目經理,而完全沒有項目管理經驗,肯定會心裏沒底;如果覺得自己管理項目不善,很想改善項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟件開發》
六、總結
在這份java推薦閱讀書籍的名單中,沒有列舉流行的軟件框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因爲這類書籍容易過時,而上述的大半書籍的生命週期都足夠長,值得去購買和收藏。