java入門學習指導之最佳方向

 
        我們學習Java大概有3個方向,第一,桌面系統,包括C/S結構;第二,J2ME,面向無限領域,很有潛力的傢伙,看看中國的手機用戶就知道了。第三,面向企業應用、計算的平臺,J2EE。

   初次涉及Java領域,感覺到Java入門是好像沒有C,C++入門快,工具也沒有什麼Turbo C,Visual C++好用(自己的破機器實在陪不起JBuilder,貪婪的傢伙,以後一定要收拾她)。什麼JAVA_HOME,CLASSPATH,虛擬機等概念都是初次基礎,旁邊的人都很少用Java的。感覺Java就是做Applet的。讓我不可思議的是JAVA 2,JDK,J2SE,J2EE,J2ME等新名詞在自己的腦海裏蔓延。慢慢的自己知道了JCP組織是制定Java相關規範的發源地http://java.jcp.org ,於是訂閱了一份郵件列表。真是好東西啊,定期有Java的最新動向,所以Java的動態盡收眼裏,建議大家也去訂閱一份。免費的。自己動手下載了Java(TM) 2 SDK和Java(TM) 2 SDK Documentation後,不懂的就查Java(TM) 2 SDK Documentation,特別好用,也不需要什麼手冊之類的,建議大家都要有一份。

   搭起Java開發環境後,記得還是用UltraEdit編輯並編譯的(在其中可以配好Java的編譯環境)。慢慢的改用JCreator了。不錯,至少很多方面有改進。最開始賣了一套 2本書,還不錯。對於入門來說足夠了。

   不知道什麼時候,要開始幹項目了,以前從書上看到的東西,慢慢的在項目中有了很好的機會去溫習,慢慢的有了感覺,開始主要是用Swing,開發桌面系統,放置一個按鈕怎麼也放不好,後來才知道有一個佈局管理器。開始涉及到數據庫訪問,JDBC。

   每次,美美的享用一頓大餐後,也來也覺得自己是不是應該換一種學習方式,因爲這樣學習效果不太好。比較亂。讓我想起了Java Specification,對,我開始研究Java規範了。最開始下載的規範是JDBC Specification,很多概念一目瞭然,尤其是DATABASE的事務性控制,自己對於她的理解慢慢的有了較爲深入的瞭解。對於開發C/S結構,比如,Swing+JDBC,開發數據庫應用系統,讓我學會開發兩層結構的應用系統。很神氣。

   也不知道什麼時候要開始開發一個網站,基於Linux+JSP+JavaBean+Oracle的系統。很是有意思。爲什麼這麼說呢?因爲不同於Swing+JDBC的開發模式,系統之間多了一層(JavaBean,姑且就這麼叫吧!嘻嘻);同時,很多開發技術和麪向左面系統不一樣,比如分頁技術。

   完成項目後,自己對於Java的很多方面都比較瞭解了。開始思考一個問題,J2EE是什麼東西?。我們學習Java大概有3個方向,第一,桌面系統,包括C/S結構;第二,J2ME,面向無限領域,很有潛力的傢伙,看看中國的手機用戶就知道了。第三,面向企業應用、計算的平臺,J2EE。

   在痛苦的抉擇後,我選擇J2EE..分享J2EE給我帶來的快樂。學到現在,最大的感覺,就是: 簡單就是美,美就是Java.不會有學MFC的痛苦,也不會有去分析STL的艱辛,網路應用上一點也不遜色於C++。開始進入我的J2EE之旅。

   還是下載了一份J2EE規範,一份J2EE SDK。開始研究J2EE,大概過了1個月,開始有感覺了,也就在這個時候,需要我去完成一個J2EE構架方面的項目。差不多邊學編寫完成了,很多概念在寫完後都不是很清晰,因爲東西太多了,主要是基於JSP(Servlet)+Session Bean+EIS構架開發系統。當然也學到很多東西,至少對SB EJB的編寫不成問題。懂得了JSP如何調用EJB……..

   完成項目後,我開始研究Java Pet Store了,很是過癮。開始知道了Servlet過濾器,XML方面較爲全面的知識,知道了J2EE整個框架中各種技術的實際應用。慢慢的,開始研究WebLogic配置好的Pet Store(也是Sun公司的)。慢慢的分析兩者的不同之處。開始對J2EE Specification有了很好的感覺。因爲J2EE Specification本身是很嚴肅的,但Pet Store給出了活力。在反覆的學習中,我明白了J2EE構架的70—80%。新的問題又出來了,實際企業中會如何建構一個J2EE系統呢?帶着這個問題,我開始分析Core J2EE Patterns,這本書。同時,也有EJB Design Patterns。慢慢的,開始知道了J2EE的魅力所在,知道了J2EE爲什麼會在企業中得到較爲好的認可。大家都知道,設計模式一詞,在公司上班,你們的老闆會看你的代碼嗎?會讚賞你的DP很好嗎,我想很少。在完成你的工作進度之餘,加班,加班,再加班,我想你沒有更多的時間去分析研究DP.但,J2EE框架不一樣,她內置了很多優秀的設計模式,我們在設計開發、構架一個J2EE系統中用到了很多設計模式。比如,MVC,EJB中封裝的DAO設計模式。

   構架J2E系統用Session Fa?ade,Message Fade設計模式也不會太困難。這也是後來J2EE吸引我的地方。慢慢的我知道了,作爲一個J2EE開發者,我們要掌握其中的核心內容。我個人認爲,3方面很重要。實施EJB系統常用的架構、設計模式,比如session fa?ade、message fade、DTO等。J2EE系統構架中常用的模式。UML-> EJB,EJB->UML相互映射。現在也一樣在研究
 
網絡上、書店都提供了很多資料,很多方式都可以得到J2EE方面的資料。如何系統的、高效的學習J2EE這個問題擺在我們面前。比如,有些人在看完一大堆書後,動起手來時還是不知道怎麼開始。等等這些問題是我們最難處理的。如何尋找到一條很好的方式方法呢?

  其實,換一個角度來看,比如,學英語,一共有三個層面的東西,首先是詞彙,然後是語法,再者是習慣用法(希望讀者能夠從程序設計的角度考慮問題,看看這兩者有什麼相似之處,其實他們的邏輯是一樣的)。還比如,上數學課,老師在黑板上解題,大家都很輕鬆得聽懂,自己動手時就會有很多問題。這些看來很簡單的問題,其實都包含一個道理:理論聯繫實際,理論指導實踐。

  我們的理論在於,我們要有很好的方法。有些人看了很多書,寫了不少程序,水平還是提高得很慢,很難跨越這道難關。還是方法問題。當然,我所談論的方法,是自己的心得,體會,大家都有自己很獨特的方法。沒有絕對好、絕對壞的方法,看作用對象是誰。所以這裏我們重點看看我這文章中所會提出來的方法。大家來評論評論。

   J2EE是現在進行時。我們知道J2EE由很多技術構成,比如,EJBXMLJDBCRMIJSPServlet、。。。。等等這些,又包含很多內容。無論這些具體的技術會怎麼發展,怎麼變化,我們要抓住主線,那就是掌握J2EE構架的精髓。用什麼來分析呢,作用對象自然是J2EE Specification(最新版是1.4http://java.sun.com/j2ee )!

當然學習J2EE的前提是你對J2SE有了足夠的熟悉了,還有一點,你有很好的態度和興趣。只看J2EE規範是不夠的,最好結合產品和例子去思考,我建議大家用JBuilder 7 +BEA WebLogc Platform 7.0,這種開發模式。爲什麼這麼說呢?首先,JBuilder 7本身的功能就是不錯,應該屬於主流Java IDE了。其次,BEA WebLogic Platform 7.0J2EE Specification最新版支持程度很好,同時也較容易獲取,用的人也多。第三,開發效率不錯。(Borland網站有一份講述JBuilder 7 + BEA WebLogic 7.0集成開發的文檔。PDF格式。)

JBuilder 7本身提供了很多幫助文檔,有PDF格式,也有HTML格式(採用JavaHelp技術製作的),另外書店有一些JBuilder的參考用書,個人認爲沒有必要,第一,提供的版本都比較陳舊;第二,沒有什麼內容;第三,一般都是抄襲JBuilder 本身提供的幫助文檔。(個人觀點,沒有任何商業目的)。當然,你的外語差不多要有四級水平,這個可不能沒有,至少閱讀能力不錯(其實也不是這樣的,我最開始時也是害怕,但開始投入後,英語資料也很簡單,而且很地道!同時提高了您的外語)。

  有了這兩者,我們需要找出合適的對象來學習。在這裏給出幾方面的素材給大家提供參考。第一,在JBuilder 7的安裝目錄的這個地方,~~:/JBuilder7/samples/Ejb/Ejb20/ESiteWL,有一個很好的例子,ESite。其中用到了Session Fa?ade設計模式,用到了JSPServletSession BeansEntity Beans(cmp)等技術,學習過程中不懂得地方可以參考第二。即,第二, http://java.sun.com/j2ee/tutorial/index.html 提供的J2EE Tutorial資料,很不錯,Sun公司的。

  第三,Java Pet Store,剛開始學習J2EE技術分析該例子有點困難,再者這個例子中的J2EE構架不是很實用,但她給我們展示了J2EE幾乎所有的核心技術,同時還提供了一本書,Design Enterprise Applications with J2EE Platform,很不錯。第四,對J2EE構架比較瞭解,對EJB,XMLJSPServlet等技術有了較好的理解和程序經驗後,建議看看這幾本書。《J2EE In Practice》、《Core J2EE Patterns》、《Sun Certified ENT Architect for J2EE - Tech Study Guide》、《Java Tools for Extreme Programming - wiley》、《EJB Design Patterns》、《MasteringEJB 2》、《Enterprise JavaBeans,3rd,夠你看得了:)。

  有了上述基礎,結合大家做項目中的一些經驗,我想水平應該會有不少提高。在初步掌握上述基礎後,我們每個人都可以有自己在J2EE中的定位,比如有些開發人員可以考慮把時間花在商務邏輯層、另外一些喜歡花功夫在表示層,更有貪婪的傢伙花在J2EE中所有的層。還有Web ServicesJ2EE 1.4 Specification的重點,估計2003年初推出,今後的重要發展方向)。

  同時,大家要注意從軟件工程的角度考慮系統設計,實施,建議用用Together!!!要求大家對UML有足夠的瞭解。

<script type=text/javascript> var arrBaiduCproConfig=new Array(); arrBaiduCproConfig['uid'] = 123541; arrBaiduCproConfig['n'] = 'codeofcpr'; arrBaiduCproConfig['tm'] = 30; arrBaiduCproConfig['cm'] = 68; arrBaiduCproConfig['um'] = 34; arrBaiduCproConfig['rad'] = 0; arrBaiduCproConfig['w'] = 234; arrBaiduCproConfig['h'] = 60; arrBaiduCproConfig['bd'] = '#FFFFFF'; arrBaiduCproConfig['bg'] = '#FFFFFF'; arrBaiduCproConfig['tt'] = '#0000CD'; arrBaiduCproConfig['ct'] = '#004040'; arrBaiduCproConfig['url'] = '#0000CD'; arrBaiduCproConfig['bdl'] = '#E0E0E0'; arrBaiduCproConfig['wn'] = 1; arrBaiduCproConfig['hn'] = 1; arrBaiduCproConfig['ta'] = 'right'; arrBaiduCproConfig['tl'] = 'bottom'; arrBaiduCproConfig['bu'] = 1; </script><script type=text/javascript> </script> 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章