首先初識語法的階段,必須要學(xué)會怎么操作對象,操作if和for,操作list set
map,然后是線程、IO和jdbc什么的,其余的,若是一時不理解,可以后邊需要時再學(xué)。
這階段完了,你可以寫些能在控制臺打印出來的小程序,鍛煉下邏輯思維。也就是號稱JAVASE畢業(yè)了,其實不過是入門而已,如果要往WEB方向發(fā)展,這些倒是基本足夠了。
一、接下來要學(xué)HTML JSP SERVLET 數(shù)據(jù)庫 JAVAscript
TOMCAT,目標(biāo),寫出第一個動態(tài)網(wǎng)站,也許只是個登陸功能,只能展示下個人資料,但這是很重要的一步,你要弄清楚的是,一個用戶的點擊產(chǎn)生的請求,是從哪里發(fā)起,哪里接收,哪里處理,哪里返回,你得理解瀏覽器和服務(wù)器的關(guān)系和分工,cookie和session,request和response。
這個是個WEB開發(fā)的學(xué)習(xí)初級階段,這都是些JAVA誕生以來最原始的最官方的WEB開發(fā)技術(shù),當(dāng)然現(xiàn)在真正的項目很少直接采用這些技術(shù)了,為了不斷提高技術(shù)的易用性、開發(fā)效率和可維護(hù)性、可擴展性,無數(shù)開源項目都是在這些原始技術(shù)的基礎(chǔ)上封裝、改進(jìn)。所以這個階段不要盲目樂觀地跑去找工作或者對實習(xí)挑三揀四,你會被打擊到的。
二、好,初始階段完成,開始進(jìn)入WEB開發(fā)的正題,首先是傳說中的三大框架,struts hibernate
spring成為熟練的增刪改查程序員是必須的,在這個階段你還要理解為什么要用這仨而不是那些JSP SERVLET
JDBC,你要體會到寫MVC、三層架構(gòu)的好處。
這個階段不要輕易質(zhì)疑三大框架的價值,也許剛開始你會覺得麻煩,覺得他們有時候是多此一舉,一兩年后回過頭來你會覺得少了這些框架你已經(jīng)很難干活了。
這個階段還要避免的心態(tài)是能熟練地增刪改查了,就認(rèn)為寫程序不過如此,然后往簡歷上填個精通,這也是新手面試被批得體無完膚的原因之一。如果你學(xué)得好,這會應(yīng)該能熟練地寫個博客啊,小論壇啊之類的WEB項目了,也就是達(dá)到了就業(yè)的基本要求。
三、接下來就沒有固定模式了,你的第一家企業(yè)對你的影響會很大,我見識過爛企業(yè)是如何毀新人的,用著設(shè)計惡劣的架構(gòu),老掉牙的技術(shù),不斷地耽誤新人的成長,有的員工在這種企業(yè)一呆數(shù)年,思維已經(jīng)完全被錯誤觀點定型,深陷于公司業(yè)務(wù)和老系統(tǒng)中疲于奔命,看似能解決問題,卻無法給公司帶來真正的進(jìn)步,就像一個用了數(shù)年砍刀的人,就算再熟練,刀法再好,也打不過用槍的。
如何成功就業(yè)" alt="自學(xué)Java如何成功就業(yè)">
如果離開了這個公司,恐怕很難在這個行業(yè)再立足。記得有個說法很好,一個人用10年的時間重復(fù)做頭一兩年做的事,你的真實工作經(jīng)驗其實還是一兩年。爛公司的老員工就是如此。在這頭一年里,定個標(biāo)準(zhǔn)吧,你應(yīng)該能做到的有:
1、把一些常用的瑣碎技術(shù)學(xué)會了,比如xml的作用和實際運用,如何操作文件,如何運用日志,如何簡化封裝常用的工具類,比如日期操作、編碼處理、分頁模塊等等,這些小東西會占用你大量的時間去處理摸索。
2、把數(shù)據(jù)庫用好。數(shù)據(jù)庫不是會增刪改查就可以了的,你要關(guān)注事務(wù)設(shè)置是否合理,是否有可能產(chǎn)生臟數(shù)據(jù),是否要動用樂觀鎖悲觀鎖等等,重要數(shù)據(jù)出了錯,無論是技術(shù)上還是業(yè)務(wù)上都是很麻煩的事。
3、懂得什么是集群,什么是分布式,懂得怎么向別的系統(tǒng)發(fā)請求,交換數(shù)據(jù),webservice。
4、如果你也寫頁面,你要會用JAVAscript,不一定要很深入,你可以用JQUERY代替,做到無刷新的頁面操作以及AJAX請求。
第一年能達(dá)到這個程度,你絕對已經(jīng)在平均水準(zhǔn)之上了。在我達(dá)到這個水平時,我有種似乎一切網(wǎng)站開發(fā)都不在話下的感覺,當(dāng)然后來我很快就發(fā)現(xiàn)了我還差得太遠(yuǎn)太遠(yuǎn)....這個階段想面?zhèn)€高薪的工作還是很難的,只能說達(dá)到溫飽線了,不用為柴米油鹽發(fā)愁。