在這裡你可以感受音樂、電影、現代視覺研究、KUSO、糟糕、模型等相關資訊,提供意見及分享~ Here you may feel the music, the movie, the modern vision research, KUSO, too bad, correlation information and so on model, provides the opinion and the share

2009年3月23日 星期一

如何迅速成為Java高手

今天在網上遇見了個很久沒見的朋友,聊了一會,聽說他在做java,我說我也是哦,但是我是個新手,呵呵,他給我發了篇文章,恩,真的不錯,雖然我好久之前看過,但是覺得每看一次真的覺得收益匪淺啊,拿來大家一起分享,希望朋友們看了也會有所收穫!

如何迅速成為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

那麼我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當然沒那麼簡單,這只是萬里長征走完了第一步。不 信?那你出去接一個項目,你知道怎麼下手嗎,你知道怎麼設計嗎,你知道怎麼組織人員進行開發嗎?你現在腦子裡除了一些散亂的代碼之外,可能再沒有別的東西 了吧!你現在最缺的是實際的工作經驗,而不是書本上那些憑空想出來的程序。所以你快去找一份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服務的力推者
中文
>
中文(繁體)
互換
翻譯


沒有留言: