很多同志在學習新東西時候都是先講究招式--如何快速入門!對任何語言來說,學習我感覺分三個步驟。第一:快速掌握語言的配置 環境等。對java尤其如此。第二:開始把自己以前用其他語言寫的東西慢慢用新語言來實現。比如我以前是用ASP,后來因為某些原因用VB了,因為ASP是BS的,VB呢卻是CS,如果快速進入VB殿堂?這需要來找規律。用了VB后發現VB也有很多東西實現起來比較復雜與繁瑣,還有一些底層的不容易實現,我第一感覺就是轉向其他的用其他來實現。比如RAD的話我選擇用Delphi,系統底層的如鉤子Hook 行置轉換我會選擇用C++,這樣學習的過程進行不斷總結并且自己給自己找事做,我相信很快利用第二個步驟把基礎打扎實的。我在學習Delphi的時候是自己慢慢與VF和VB進行比較來學習的。現在學習NET和JAVA我同樣是比較。把Delphi和Net比較,語言特性上,操作上等,并且把自己的Delphi一些認識在Net上進行比劃一下。拿Net的類庫和Java的比較。先進在哪里不足在哪里,這樣下個步驟我就有的放矢。比如一個項目分布式的應用。必須有客戶端,還有一些項目管理等。我會如何來做呢?我有了各種語言之間的差異比較后,然后思考一下就會拿出一個不錯的方案。客戶端的話我會采用Delphi來做,因為Delphi的開發周期的確比較短,再者我自己也積累了不少的資源,這樣做起來也會游刃有余,選擇C#也一樣,不過就是對C#精致的類庫還不能面面俱到的掌握。服務器端如果沒有平臺限制的話我當然會采用ASP。Net或者JAVA,因為做Web服務用這兩個語言畢竟很不錯。這樣一個項目雛形就出來了。學習第三個步驟:學習規劃。經歷了以上幾個步驟,個人認為就應該可以獨當一面,但是人的進步則是逆水行舟不進退,當然成為高手后要什么我還不知道,因為我還沒成為高手。
不管學習什么,都沒有捷徑,“唯手熟爾”是我的看法。只有把語言了然于胸了才可能下筆入神。我大致談論一下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.shtmlIBM 永遠
的藍色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當 然沒那么簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項目,你知道怎么下 手嗎,你知道怎么設計嗎,你知道怎么組織人員進行開發嗎?你現在腦子里除了一些散亂的 代碼之外,可能再沒有別的東西了吧!你現在最缺的是實際的工作經驗,而不是書本上那些 憑空想出來的程序。所以你快去找一份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?csdnIBM 可是Web服務的力推者
嗚…你費勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真 不簡單,真叫人感動啊