java簡(jiǎn)介
Java是一門面向?qū)ο?a href="http://www.xsypw.cn/v/tag/1315/" target="_blank">編程語言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
java語言的優(yōu)點(diǎn)
1)java是純面向?qū)ο缶幊痰恼Z言;
2)平臺(tái)無關(guān)性 (一次編譯,到處運(yùn)行;Write Once,Run Anywhere);
3)java提供了許多內(nèi)置的類庫,通過這些類庫,簡(jiǎn)化了開發(fā)人員的設(shè)計(jì)工作,同時(shí)縮短了項(xiàng)目開發(fā)時(shí)間;
4)提供了對(duì)Web應(yīng)用開發(fā)的支持,例如,Applet,Servlet,和JSP可以用來開發(fā)Web應(yīng)用程序,,Socket,RMI可以用來開發(fā)分布式應(yīng)用程序的類庫;
5)去除了c++中難以理解,容易混淆的特性(如c++中的多繼承,頭文件,指針,結(jié)構(gòu),單元,運(yùn)算符重載,虛擬基礎(chǔ)類,使得程序更加嚴(yán)謹(jǐn),整潔;
6)具有較好的安全性和健壯性。java語言經(jīng)常會(huì)被用在網(wǎng)絡(luò)環(huán)境中,為了增強(qiáng)程序的安全性
java入門學(xué)習(xí)基礎(chǔ)
首先要說明的,JAVA有三個(gè)大的方向(J2se,J2me,J2ee),走不同的方向可能學(xué)的技術(shù)和要花費(fèi)的時(shí)間可能有所不同。小編是搞web方向的(J2ee),小編學(xué)Java除了以前一些簡(jiǎn)單的C語言語法外,沒有太多的編程基礎(chǔ),小編以前一直認(rèn)為編程要有很強(qiáng)的數(shù)學(xué)和英語功底,現(xiàn)在看來這也不是必需,只要有一定的邏輯思維能力和掌握一些常見的計(jì)算機(jī)詞匯,還需要具備一定的自學(xué)能力,因?yàn)檐浖_發(fā)工作是需要不斷學(xué)習(xí)的。
其次,小編想說下小編的學(xué)習(xí)過程,小編在網(wǎng)上下載了JAVA教學(xué)視頻,將Java基礎(chǔ)從頭到尾看了一遍,將上面的代碼基本上跟著敲了一遍,然后小編把Java基礎(chǔ)的書看了一遍,一本書看完包括上面的習(xí)題大概做一遍差不多一個(gè)月。這時(shí)你對(duì)Java的語法和基本知識(shí)應(yīng)該都有比較充分的認(rèn)識(shí)和了解了。
然后,再做一些小項(xiàng)目,跟著視頻上的步驟做,最好能自己獨(dú)立再寫寫,能寫多少是多少。一般網(wǎng)上比較新的免費(fèi)的項(xiàng)目庫很不好找,因?yàn)轫?xiàng)目庫是需要實(shí)時(shí)更新以保證適合市場(chǎng)需要的,而它的升級(jí)和更新是需要錢的,所以去報(bào)一個(gè)培訓(xùn)中心利用它強(qiáng)大的項(xiàng)目庫進(jìn)行實(shí)戰(zhàn)操作是個(gè)很好的選擇。
操作一段時(shí)間之后,你對(duì)Java已經(jīng)有了一定的感覺,就要開始選擇你的發(fā)展方向了。小編選擇了J2ee,如果你也是想走這條路,你可以接著看關(guān)于J2ee的視頻,先是html+Js+css,然后Jsp+serverlet,再看struts+spring+hibernate等一些框架。同時(shí)可以看一些大的培訓(xùn)機(jī)構(gòu)的關(guān)于設(shè)計(jì)模式的視頻,最好是IT牛人錄制的,當(dāng)然數(shù)據(jù)庫也得學(xué)下,然后加上做項(xiàng)目的經(jīng)驗(yàn)累積,半年就差不多可以出去工作了。
如果你做其他方向的話小編不是很了解。再說下小編個(gè)人的看法,J2me和J2se好像前景沒J2ee好,不過小編有同事是做android平臺(tái)開發(fā)的,這個(gè)不需要J2ee的知識(shí),你可以去買本android的看看,這個(gè)方向貌似很有前途,你應(yīng)該也常聽說android平臺(tái)的手機(jī),如果走這方向可以再學(xué)一下linux知識(shí)和c的知識(shí),因?yàn)檫@個(gè)平臺(tái)底層是這些,這也不是必要。
java入門經(jīng)典書籍推薦
一、Java編程入門類
1、《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)的深入看就可以了。
2、《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ì)量。
1、《重構(gòu) 改善既有代碼的設(shè)計(jì)》 這本書名氣很大,不用多介紹,可以在閑暇的時(shí)候多翻翻,多和自己的實(shí)踐相互印證。這本書對(duì)你產(chǎn)生影響是潛移默化的。
2、《測(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)師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經(jīng)典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《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í)體系了。
3、《企業(yè)應(yīng)用架構(gòu)模式》
Martin的又一本名著,但這本書小編只是泛泛的看了一遍,并沒有仔細(xì)看。這本書似乎更適合做框架的人去看,例如如果你打算自己寫一個(gè)ORM的話,這本書是一定要看的。但是做應(yīng)用的人,不看貌似也無所謂,但是如果有空,小編還是推薦認(rèn)真看看,會(huì)讓你知道框架為什么要這樣設(shè)計(jì),這樣你的層次可以晉升到框架設(shè)計(jì)者的角度去思考問題。Martin的書小編向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認(rèn)真去看。
4、《敏捷軟件開發(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ǔ)。
1、《UML精粹》
UML其實(shí)和軟件開發(fā)過程沒有什么必然聯(lián)系,卻是軟件團(tuán)隊(duì)協(xié)作溝通,撰寫軟件文檔需要的工具。但是UML真正實(shí)用的圖不多,看看這本書已經(jīng)足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》
XP 這是Kent Beck名著的第二版,中英文對(duì)照。沒什么好說的,必讀書籍。
3、《統(tǒng)一軟件開發(fā)過程》
UP 其實(shí)UP和敏捷并不一定沖突,UP也非常強(qiáng)調(diào)迭代,測(cè)試,但是UP強(qiáng)調(diào)的文檔和過程驅(qū)動(dòng)卻是敏捷所不取的。不管怎么說,UP值得你去讀,畢竟在中國(guó)真正接受敏捷的企業(yè)很少,你還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》
AM 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)水不解近渴的。
1、《快速軟件開發(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)子,你只需要稍加變通,找方抓藥就行了。
-
JAVA
+關(guān)注
關(guān)注
19文章
2973瀏覽量
104896 -
JAVA語言
+關(guān)注
關(guān)注
0文章
138瀏覽量
20121
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論