漫談Java學習之路。。。。。

不少網友問我學習Java有沒有什麼捷徑,我說"無他,惟手熟爾"。可是我卻很願意將本身學習的一些經驗寫出來,以便後來者少走彎路,幫助別人是最大的快樂嘛!  
   要想學好Java,首先要知道Java的大體分類。咱們知道,自從Sun推出Java以來,就力圖使之無所不包,因此Java發展到如今,按應用來分主要分爲三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標準版,主要用於桌面應用軟件的編程;J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;J2EE是Java2的企業版,主要用於分佈式的網絡程序的開發,如電子商務網站和ERP系統。J2SE開發桌面應用軟件比起VC,VB,DEPHI這些傳統開發語言來講,優點好象並不明顯。J2ME對於初學者來講,好象又有點深奧,並且通常開發者很難有開發環境。因此如今應用最普遍又最好學的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學習起來可不是一兩天的事。  
   那麼又該如何學習J2EE呢?固然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?而後再從JSP學起。若是你學過HTML,那麼事情要好辦的多,若是沒有,那你快去補一補HTML基礎吧。其實JSP中的Java語法也很少,它更象一個腳本語言,有點象ASP。而後你就該學一學Servlet了。Servlet就是服務器端小程序,他負責生成發送給客戶端的HTML文件。JSP在執行時,也是先轉換成Servlet再運行的。雖然說JSP理論上能夠徹底取代Servlet,這也是SUN推出JSP的本意,但是Servlet用來控制流程跳轉仍是挺方便的,也令程序更清晰。接下來你應該學習一下Javabean了,可能你早就看無論JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什麼區別呢?還好,SUN提供了Javabean能夠把你的JSP中的Java代碼封裝起來,便於調用也便於重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,但是它和Javabean仍是有區別的。它是一個體繫結構,你能夠搭建更安全、更穩定的企業應用。它的大量代碼已由中間件(也就是咱們常聽到的Weblogic,Websphere這些J2EE服務器)完成了,因此咱們要作的程序代碼量不多,大部分工做都在設計和配置中間件上。至於JDBC,就不用我多說了,你若是用java編過存取數據庫的程序,就應該很熟悉。還有,若是你要用Java編髮送電子郵件的程序,你就得看看Javamail了。  
   好了,對Java和J2EE有了一些基本概念以後,你就應該編一些程序了,千萬不要紙上談兵哦。最好找一些有實例且帶光盤的書來看,這樣看到好的程序就能夠直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它 再輸一遍吧,再說直接複製還不用怕出錯,何樂而不爲呢!還有就是要常常上一些好的Java編程文章,有好的文章要Cut下來,有問題儘管問,只要問題不是太傻,通常高手都會回答你的。下面介紹幾個好的Java方面的編程網站:  
CSDN論壇 http://www.csdn.net/ 中國最有名的技術論壇,《程序員》雜誌就是他們出版的,你能夠在上面提出問題,立刻就有人回答你,若是你以爲好,你能夠給那人加分;  
Java研究組織 http://www.javaresearch.org/ 上面有不少原創文章,高手仍是挺多的;  
Java開發者 http://www.chinajavaworld.com/ 那裏Java資料比較全;  
java.com.cn http://www.java.com.cn/ 看這域名就知道有多牛,註冊用戶快接近一萬了,同時在線人數也在一千左右,人氣很旺的;  
IBM的開發者網絡 http://www-900.ibm.com/developerWorks/cn/java/index.shtml IBM永遠的藍色巨人;  

   那麼我書也看了,程序也作了,別人問個人問題我都能解決了,是否是就成爲高手了呢?固然沒那麼簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項目,你知道怎麼下手嗎,你知道怎麼設計嗎,你知道怎麼組織人員進行開發嗎?你如今腦子裏除了一些散亂的代碼以外,可能再沒有別的東西了吧!你如今最缺的是實際的工做經驗,而不是書本上那些憑空想出來的程序。因此你快去找一份Java的編程工做來作吧(若是是在校學生能夠去作兼職啊),在實踐中提升本身,那纔是最快的。不過你得祈禱在公司裏碰到一個高手,並且他還願意不厭其煩地教你,這樣好象有點難哦!  
   還有一個辦法就是讀開放源碼的程序了。咱們知道開放源碼大都出自高手,他們設計合理,考慮周到,再加上有廣大的程序員參與,代碼的價值天然是字字珠嘰,鏗鏘有力(對不起,偶最近《金裝四大才子》看多了)。學Java必讀的兩個開源程序就是Jive和Pet Store.。Jive是國外一個很是著名的BBS程序,徹底開放源碼。論壇的設計採用了不少先進的技術,如Cache、用戶認證、Filter、XML等,並且論壇徹底屏蔽了對數據庫的訪問,能夠很輕易的在不一樣數據庫中移植。論壇還有方便的安裝和管理程序,這是咱們平時編程時容易忽略的一部份(中國程序員通常只注重編程的技術含量,卻徹底不考慮用戶的感覺,這就是咱們與國外軟件的差距所在)。Jive的資料在不少網站上都有,你們能夠找來研究一下。相信你讀完代碼後,會有脫胎換骨的感受。遺憾的是Jive從2.5之後就再也不無條件的開放源代碼,同時有licence限制。不過幸虧還有中國一流的Java程序員關注它,外國人不開源了,中國人就不能開源嗎?這裏向你們推薦一個漢化的Jive版本-J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive 2.1版本基礎上改編而成, 全中文,增長了一些實用功能,如貼圖,用戶頭像和用戶資料查詢等,並且有一個開發團隊在不斷升級。你能夠訪問banq的網站 http://www.jdon.com/ 去下載,或到同濟技術論壇的服務器上ftp://nro.shtdu.edu.cn去下,安裝上有什麼問題,能夠到論壇上去提問。Pet Store.(寵物店)是SUN公司爲了演示其J2EE編程規範而推出的開放源碼的程序,應該很具備權威性,想學J2EE和EJB的朋友不要錯過了。  
    你必定會高興地說,哈哈,原來成爲Java高手就這麼簡單啊!記得Tomjava也曾碰到過一個項目經理,號稱Java很簡單,只要三個月就能夠學會。其實說這種話的人就如當年小日本號稱"三個月拿下中國"同樣大言不慚。不是Tomjava潑你冷水,你如今只是學到了Java的骨架,卻尚未學到Java的精髓。接下來你得研究設計模式了。設計模式是高級程序員真正掌握面向對象核心思想的必修課。設計模式並非一種具體"技術",它講述的是思想,它不只僅展現了接口或抽象類在實際案例中的靈活應用和智慧,讓你可以真正掌握接口或抽象類的應用,從而在原來的Java語言基礎上躍進一步,更重要的是,設計模式反覆向你強調一個宗旨:要讓你的程序儘量的可重用。關於設計模式的資料,仍是向你們推薦banq的網站 http://www.jdon.com/ ,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經典中的經典。有時間再研究一下MVC結構(把Model-View-Control分離開的設計思想)吧,如今很流行的Structs就是它的一種實現方式,不過Structs用起來實在是很繁,咱們只要學習其精髓便可,咱們徹底能夠設計本身的MVC結構。而後你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會上一個臺階。  
作完這些,你不如整理一下你的Java代碼,把那些經典的程序和常見的應用整理出來,再精心打造一番,提升其重用性和可擴展性。你再找幾個志同道合的朋友成立一個工做室吧,你能夠去承接一些項目作了,一開始可能有些困難,但是你有技術積累,又考慮周全,接下項目來能夠迅速做完,相信你們之後都會來找你的,因此Money就嘩啦啦的來了。。。。。。  
固然你也能夠參加一些開源項目,一方面能夠提升本身,另外一方面也是爲中國軟件事業作貢獻嘛!開發者在互聯網上用CVS合做開發,用QQ,MSN,E-mail討論聯繫,天南海北的程序員分散在各地卻同時開發同一個軟件,是否是頗有意思呢?  
下面介紹兩個好的開源項目網站:  
湖北省軟件公共開發平臺 http://gro.clinux.org/ 共創聯盟 http://cosoft.org.cn/ 哇,好高興哦,我終於成爲高手了!非也,非也。古人云:"識時務者爲俊傑"。你知道計算機界如今的發展形勢嗎?你知道微軟的.NET藍圖和SUN ONE計劃之間的明爭暗鬥嗎?你知道計算機技術將向何處發展嗎?其實從各大計算機廠商最近的動做,均可以看出來"Web服務將是下一代互聯網應用的制高點",而微軟的.NET藍圖和SUN ONE計劃的鬥爭焦點,也就是Web服務。Web服務就是一個嶄新的分佈式計算模型,它是一系列標準的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不一樣語言編寫的軟件可以輕易的集成起來,使網絡資源和Web站點變成一種服務而不是混亂的垃圾場。不遠的未來,咱們就能夠在家裏點擊一下鼠標,就能夠完成出門旅遊的所有準備工做,包括定飛機票,定旅遊線路,定好房間等。請注意,這全部的一切都是Web站點間自動完成的,不再用象如今同樣,表面上是電子商務,實際上不少環節都是人工操做。也許你會以爲這是天方夜談,不過就近的說,你也頗有可能承接一個項目,要集成兩個企業的ERP系統。頗有可能上游企業的系統是用Dephi編的,而下游企業的系統是用Java編的。你說你是Java高手,你們都看者你怎麼作呢。因此啊,你還得學習新技術,如Web服務,並且你Dephi也要懂一點吧(Dephi6如今已經提供Web服務的控件了)。 你編的Java系統,可能要和.NET集成,因此你.NET要懂一點吧?到最後,你可能發現你已經成爲Java高手了,但不少時間卻在搞別的技術。太極張三丰裏說,最厲害的招式就是沒有招式,可能就是這個道理吧!  
由於剛剛興起,因此網上Web服務的資料不是不少,我仍是給你們推薦幾個網站吧:  
中國UDDI技術聯盟 http://www.uddi-china.org/ CSDN的柴曉路專欄 http://www.csdn.net/develop/author/ColumnAuthor/fennivel/ (注:柴曉路也是互聯網上一個有名的人物,他發表過不少關於Web服務的文章,還出了一書,應該稱的上是中國Web服務技術的先行者)  
IBM的開發者網絡的XML&Web Service專欄: http://www-900.ibm.com/developerWorks/cn/xml/index.shtml?csdn IBM但是Web服務的力推者
相關文章
相關標籤/搜索