JAVA開發者應該去的20個英文網站(轉載)
Java
開發者年鑒一書的在線版本. 要想快速查到某種Java技巧的用法及示例代碼, 這是一個不錯的去處.
http://www.onjava.com
??? O'Reilly
的Java網站. 每周都有新文章
http://java.sun.com
???
官方的Java開發者網站 - 每周都有新文章發表
http://www.developer.com/java
???
由Gamelan.com 維護的Java技術文章網站
http://www.java.net
??? Sun
公司維護的一個Java社區網站
http://www.builder.com
??? Cnet
的Builder.com網站 - 所有的技術文章, 以Java為主.
http://www.ibm.com/developerworks/java
?
??? IBM
的Developerworks技術網站; 這是其中的Java技術主頁
http://www.javaworld.com
???
最早的一個Java站點. 每周更新Java技術文章
http://www.devx.com/java
??? DevX
維護的一個Java技術文章網站
http://www.fawcette.com/javapro
??? JavaPro
在線雜志網站.
http://www.sys-con.com/java
??? Java Developers Journal
的在線雜志網站.
http://www.javadesktop.org
???
位于Java.net的一個Java桌面技術社區網站.
http://www.theserverside.com
???
這是一個討論所有Java服務器端技術的網站.
http://www.jars.com
???
提供Java評論服務. 包括各種framework和應用程序
http://www.jguru.com
???
一個非常棒的采用Q&A形式的Java技術資源社區.
http://www.javaranch.com
????
一個論壇,得到Java問題答案的地方,初學者的好去處。
http://www.ibiblio.org/javafaq/javafaq.html
??? comp.lang.java
的FAQ站點 - 收集了來自comp.lang.java新聞組的問題和答案的分類目錄.
http://java.sun.com/docs/books/tutorial/
???
來自SUN公司的官方Java指南 - 對于了解幾乎所有的java技術特性非常有幫助.
http://www.javablogs.com
?
???
互聯網上最活躍的一個Java Blog網站.
http://java.about.com/
posted @ 2005-06-07 13:10
金鑫 閱讀(18) | 評論 (0) |?編輯?收藏
快速進階
很多網友問我學習Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學習的一些經驗寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
???
要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是SunONE(Open?NetEnvironment)體系。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和PetStore.。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設計采用了很多先進的技術,如Cache、用戶認證、Filter、XML等,而且論壇完全屏蔽了對數據庫的訪問,可以很輕易的在不同數據庫中移植。論壇還有方便的安裝和管理程序,這是我們平時編程時容易忽略的一部份(中國程序員一般只注重編程的技術含量,卻完全不考慮用戶的感受,這就是我們與國外軟件的差距所在)。Jive的資料在很多網站上都有,大家可以找來研究一下。相信你讀完代碼后,會有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時有licence限制。不過幸好還有中國一流的Java程序員關注它,外國人不開源了,中國人就不能開源嗎?這里向大家推薦一個漢化的Jive版本—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive2.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藍圖和SUNONE計劃之間的明爭暗斗嗎?你知道計算機技術將向何處發展嗎?其實從各大計算機廠商最近的動作,都可以看出來“Web服務將是下一代互聯網應用的制高點”,而微軟的.NET藍圖和SUNONE計劃的斗爭焦點,也就是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/
??? IBM可是Web服務的力推者?
??? 嗚…你費勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡單,真叫人感動啊!那么打個電話告訴我吧,什么?我的電話號碼是多少?昏到,你打電話問不就知道了嗎,真是的……
posted @ 2005-06-07 13:05
金鑫 閱讀(23) | 評論 (0) |?編輯?收藏
剛開始的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是現在進行時。我們知道J2EE由很多技術構成,比如,EJB、XML、JDBC、RMI、JSP、Servlet、。。。。等等這些,又包含很多內容。無論這些具體的技術會怎么發展,怎么變化,我們要抓住主線,那就是掌握J2EE構架的精髓。用什么來分析呢,作用對象自然是J2EE Specification(最新版是1.4,http://java.sun.com/j2ee )!
當然學習J2EE的前提是你對J2SE有了足夠的熟悉了,還有一點,你有很好的態度和興趣。只看J2EE規范是不夠的,最好結合產品和例子去思考,我建議大家用JBuilder 7 +BEA WebLogc Platform 7.0,這種開發模式。為什么這么說呢?首先,JBuilder 7本身的功能就是不錯,應該屬于主流Java IDE了。其次,BEA WebLogic Platform 7.0對J2EE 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設計模式,用到了JSP、Servlet、Session Beans、Entity 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,XML,JSP,Servlet等技術有了較好的理解和程序經驗后,建議看看這幾本書。《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 Services(J2EE 1.4 Specification的重點,估計2003年初推出,今后的重要發展方向)。
同時,大家要注意從軟件工程的角度考慮系統設計,實施,建議用用Together!!!要求大家對UML有足夠的了解。
?
|----------------------------------------------------------------------------------------|
版權聲明 版權所有 @zhyiwww
引用請注明來源 http://www.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2006-06-02 19:14
zhyiwww 閱讀(1262)
評論(0) 編輯 收藏 所屬分類:
j2ee