作為Java程序員來說斋否,最痛苦的事情莫過于可以選擇的范圍太廣梨水,可以讀的書太多,往往容易無所適從茵臭。我想就我自己讀過的技術(shù)書籍中挑選出來一些疫诽,按照學(xué)習(xí)的先后順序,推薦給大家,特別是那些想不斷提高自己技術(shù)水平的Java程序員們奇徒。
[圖片上傳中雏亚。。逼龟。(1)]
** Java編程入門類**
對(duì)于沒有Java編程經(jīng)驗(yàn)的程序員要入門评凝,隨便讀什么入門書籍都一樣,這個(gè)階段需要你快速的掌握J(rèn)ava基礎(chǔ)語法和基本用法腺律,宗旨就是“囫圇吞棗不求甚解”奕短,先對(duì)Java熟悉起來再說。用很短的時(shí)間快速過一遍Java語法匀钧,連懵帶猜多寫寫代碼翎碑,要“知其然”。
一:《Java編程思想》
在有了一定的Java編程經(jīng)驗(yàn)之后之斯,你需要“知其所以然”了日杈。這個(gè)時(shí)候《Java編程思想》是一本讓你知其所以然的好書,它對(duì)于基本的面向?qū)ο笾R(shí)有比較清楚的交待佑刷,對(duì)Java基本語法莉擒,基本類庫有比較清楚的講解,可以幫你打一個(gè)良好的Java編程基礎(chǔ)瘫絮。這本書的缺點(diǎn)是實(shí)在太厚涨冀,也比較羅嗦,不適合現(xiàn)代人快節(jié)奏學(xué)習(xí)麦萤,因此看這本書要懂得取舍鹿鳖,不是每章每節(jié)都值得一看的,挑重點(diǎn)的深入看就可以了壮莹。
二:《Agile Java》中文版
這本書是出版社送給我的翅帜,我一拿到就束之高閣,放在書柜一頁都沒有翻過命满,但是前兩天整理書柜的時(shí)候涝滴,拿出來一翻,竟然發(fā)現(xiàn)這絕對(duì)是一本好書胶台!這本書一大特點(diǎn)是以單元測(cè)試和TDD來貫穿全書的狭莱,在教你Java各種重要的基礎(chǔ)知識(shí)的過程中,潛移默化的影響你的編程思維走向敏捷概作,走向TDD腋妙。另外這本書成書很新,以JDK5.0的語法為基礎(chǔ)講解讯榕,要學(xué)習(xí)JDK5.0的新語法也不錯(cuò)骤素。還有這本書對(duì)于內(nèi)容取舍也非常得當(dāng)匙睹,Java語言畢竟類庫龐大,可以講的內(nèi)容太多济竹,這本書選擇的內(nèi)容以及內(nèi)容的多寡都很得當(dāng)痕檬,可以讓你以最少的時(shí)間掌握J(rèn)ava最重要的知識(shí),順便培養(yǎng)出來優(yōu)秀的編程思路送浊,真是一本不可多得的好書梦谜。
雖然作者自己把這本書定位在入門級(jí)別,但我不確定這本書用來入門是不是稍微深了點(diǎn)袭景,我自己也準(zhǔn)備有空的時(shí)候翻翻這本書唁桩,學(xué)習(xí)學(xué)習(xí)。
** Java編程進(jìn)階類**
打下一個(gè)良好的Java基礎(chǔ)耸棒,還需要更多的實(shí)踐經(jīng)驗(yàn)積累荒澡,我想沒有什么捷徑。有兩本書值得你在編程生涯的這個(gè)階段閱讀与殃,培養(yǎng)良好的編程習(xí)慣单山,提高你的代碼質(zhì)量。
一:《重構(gòu) 改善既有代碼的設(shè)計(jì)》
這本書名氣很大幅疼,不用多介紹米奸,可以在閑暇的時(shí)候多翻翻,多和自己的實(shí)踐相互印證爽篷。這本書對(duì)產(chǎn)生影響是潛移默化的悴晰。
二:《測(cè)試驅(qū)動(dòng)開發(fā) by Example》
本書最大特點(diǎn)是很薄,看起來沒有什么負(fù)擔(dān)狼忱∨蚴瑁可以找一個(gè)周末的下午一睁,一邊看钻弄,一邊照做,一個(gè)下午就把書看完者吁,這本書的所有例子跑完了窘俺。這本書的作用是通過實(shí)戰(zhàn)讓你培養(yǎng)TDD的思路。
** Java架構(gòu)師之路**
到這個(gè)階段复凳,應(yīng)該已經(jīng)非常嫻熟的運(yùn)用Java編程瘤泪,而且有了一個(gè)良好的編程思路和習(xí)慣了,但是可能還缺乏對(duì)應(yīng)用軟件整體架構(gòu)的把握育八,現(xiàn)在就是邁向架構(gòu)師的第一步对途。
一:《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經(jīng)典髓棋,從這本書中的代碼誕生了springframework实檀。但是好像這本書沒有中譯本惶洲。
二:《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業(yè)界專家參與膳犹,雖然署名譯者是JavaEye恬吕,其實(shí)JavaEye出力不多,實(shí)在是忝居譯者之名须床。
以上兩本書都是Rod Johnson的經(jīng)典名著铐料,Java架構(gòu)師的必讀書籍。在所推薦的這些書籍當(dāng)中豺旬,是看過的最仔細(xì)钠惩,最認(rèn)真的書,當(dāng)時(shí)讀這本書幾乎是廢寢忘食的一氣讀完的哈垢,有小時(shí)候挑燈夜讀金庸武俠小說的勁頭妻柒,書中所講內(nèi)容和自己的經(jīng)驗(yàn)知識(shí)一一印證,又被無比精辟的總結(jié)出來耘分,讀完這本書以后举塔,有種被打通經(jīng)脈,功力爆增的感覺求泰。
但是后來看過一些其他人的評(píng)價(jià)央渣,似乎閱讀體驗(yàn)并沒有那么high,也許是因?yàn)槊總€(gè)人的知識(shí)積累和經(jīng)驗(yàn)不同導(dǎo)致的渴频。那個(gè)時(shí)候剛好是經(jīng)驗(yàn)知識(shí)積累已經(jīng)足夠豐富芽丹,但是還沒有系統(tǒng)的整理成型,讓這本書一梳理卜朗,立刻形成完整的知識(shí)體系了拔第。
三:《企業(yè)應(yīng)用架構(gòu)模式》
Martin的又一本名著,但這本書只是泛泛的看了一遍场钉,并沒有仔細(xì)看蚊俺。這本書似乎更適合做框架的人去看,例如如果打算自己寫一個(gè)ORM的話逛万,這本書是一定要看的泳猬。但是做應(yīng)用的人,不看貌似也無所謂宇植,但是如果有空得封,還是推薦認(rèn)真看看,會(huì)讓知道框架為什么要這樣設(shè)計(jì)指郁,這樣的層次可以晉升到框架設(shè)計(jì)者的角度去思考問題忙上。Martin的書向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認(rèn)真去看闲坎。
四:《敏捷軟件開發(fā)原則疫粥、模式與實(shí)踐》
Uncle Bob的名著洋腮,敏捷的經(jīng)典名著,這本書比較特別手形,與其說是講軟件開發(fā)過程的書啥供,不如說講軟件架構(gòu)的書,本書用了很大篇幅講各種面向?qū)ο筌浖_發(fā)的各種模式库糠,個(gè)人以為看了這本書伙狐,就不必看GoF的《設(shè)計(jì)模式》了。
** 軟件開發(fā)過程**
了解軟件開發(fā)過程不單純是提高程序員個(gè)人的良好編程習(xí)慣瞬欧,也是增強(qiáng)團(tuán)隊(duì)協(xié)作的基礎(chǔ)贷屎。
一:《UML精粹》
UML其實(shí)和軟件開發(fā)過程沒有什么必然聯(lián)系,卻是軟件團(tuán)隊(duì)協(xié)作溝通艘虎,撰寫軟件文檔需要的工具唉侄。但是UML真正實(shí)用的圖不多,看看這本書已經(jīng)足夠了野建,完全沒有必要去啃《UML用戶指南》之類的東西属划。要提醒大家的是,這本書的中譯本翻譯的非常之爛候生,建議有條件的看英文原版同眯。
二:《解析極限編程 擁抱變化》
這是Kent Beck名著的第二版,中英文對(duì)照唯鸭。沒什么好說的须蜗,必讀書籍。
三:《統(tǒng)一軟件開發(fā)過程》
其實(shí)UP和敏捷并不一定沖突目溉,UP也非常強(qiáng)調(diào)迭代明肮,測(cè)試,但是UP強(qiáng)調(diào)的文檔和過程驅(qū)動(dòng)卻是敏捷所不取的缭付。不管怎么說柿估,UP值得去讀,畢竟在中國(guó)真正接受敏捷的企業(yè)很少蛉腌,還是需要用UP來武裝一下自己的官份,哪怕是披著UP的XP只厘。
四:《敏捷建睦哟裕》
Scott Ambler的名著,這本書非常的progmatic羔味,告訴怎么既敏捷又UP河咽,把敏捷和UP統(tǒng)一起來了,又提出了很多progmatic的建議和做法赋元⊥罚可以把《解析極限編程擁抱變化》飒房、《統(tǒng)一軟件開發(fā)過程》和《敏捷建模》這三本書放在一起讀媚值,看XP和UP的不同點(diǎn)狠毯,再看AM是怎么統(tǒng)一XP和UP的,把這三種理論融為一爐褥芒,形成自己的理論體系嚼松,那么也可以去寫書了。
** 軟件項(xiàng)目管理 **
如果突然被領(lǐng)導(dǎo)提拔為項(xiàng)目經(jīng)理锰扶,而完全沒有項(xiàng)目管理經(jīng)驗(yàn)献酗,肯定會(huì)心里沒底;如果覺得自己管理項(xiàng)目不善坷牛,很想改善項(xiàng)目管理能力罕偎,那么去考PMP肯定是遠(yuǎn)水不解近渴的。
一:《快速軟件開發(fā)》
這也是一本名著京闰⊙占埃可以這樣說,有本書在手蹂楣,就有了一個(gè)項(xiàng)目管理的高級(jí)參謀給你出謀劃策器予,再也不必?fù)?dān)心自己不能勝任的問題了。這本書不是講管理的理論的捐迫,在實(shí)際的項(xiàng)目管理中乾翔,講這些理論是不解決問題的,這本書有點(diǎn)類似于“軟件項(xiàng)目點(diǎn)子大全”之類的東西施戴,列舉了種種軟件項(xiàng)目當(dāng)中面臨的各種問題反浓,以及應(yīng)該如何解決問題的點(diǎn)子,只需要稍加變通赞哗,找方抓藥就行了雷则。
如果你想學(xué)習(xí)Java工程化、高性能及分布式肪笋、高性能月劈、深入淺出。性能調(diào)優(yōu)藤乙、Spring猜揪,MyBatis,Netty源碼分析和大數(shù)據(jù)等知識(shí)點(diǎn)可以來找我坛梁。而現(xiàn)在我就有一個(gè)平臺(tái)可以提供給你們學(xué)習(xí)而姐,你想拿高薪的,想學(xué)習(xí)的划咐,想就業(yè)前景好的拴念,想跟別人競(jìng)爭(zhēng)能取得優(yōu)勢(shì)的钧萍,想進(jìn)阿里面試但擔(dān)心面試不過的,你都可以來政鼠,群號(hào)為:654675708
注:加群要求
1风瘦、具有1-5工作經(jīng)驗(yàn)的,面對(duì)目前流行的技術(shù)不知從何下手公般,需要突破技術(shù)瓶頸的可以加弛秋。
2、在公司待久了俐载,過得很安逸蟹略,但跳槽時(shí)面試碰壁。需要在短時(shí)間內(nèi)進(jìn)修遏佣、跳槽拿高薪的可以加挖炬。
3、如果沒有工作經(jīng)驗(yàn)状婶,但基礎(chǔ)非常扎實(shí)意敛,對(duì)java工作機(jī)制,常用設(shè)計(jì)思想膛虫,常用java開發(fā)框架掌握熟練的草姻,可以加。
4稍刀、覺得自己很牛B撩独,一般需求都能搞定。但是所學(xué)的知識(shí)點(diǎn)沒有系統(tǒng)化账月,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加综膀。
5.阿里Java高級(jí)大牛直播講解知識(shí)點(diǎn),分享知識(shí)局齿,多年工作經(jīng)驗(yàn)的梳理和總結(jié)剧劝,帶著大家全面、科學(xué)地建立自己的技術(shù)體系和技術(shù)認(rèn)知抓歼!
6.小號(hào)加群一律不給過讥此,謝謝。