java分成J2ME(行動裝置 App開發),J2SE(案頭應用開發),J2EE(Web企業級應用),所以java並不是單機版的,只是物件導向語言。建議如果學習java體系的話可以這樣去學習:
*第一階段:Java基礎,包括java文法,物件導向特徵,常見API,集合架構;
*第二階段:java介面編程,包括AWT,事件機制,SWING,這個部分也可以跳過,用的時候再看都能來及;
*第三階段:java API:輸入輸出,多線程,網路編程,反射註解等,java的精華部分;
*第四階段:資料庫SQL基礎,包括增刪改查操作以及多表查詢;
*第五階段:JDBC編程:包括JDBC原理,JDBC串連庫,JDBC API,雖然現在Hibernate比JDBC要方便許多,但是JDBC技術仍然在使用,JDBC思想尤為重要;
*第六階段:JDBC深入理解進階特性:包括資料庫連接池,預存程序,觸發器,CRM思想;
*第七階段:HTML語言學習,包括HTML標籤,表單標籤以及CSS,這是Web應用開發的基礎;
*第八階段:JavaScript指令碼語言,包括javaScript文法和對象,就這兩個方面的內容;
*第九階段:DOM編程,包括DOM原理,常用的DOM元素以及比較重要的DOM編程思想;
*第十階段:Servlet開發,從此開始踏入java開發的重要一步,包括XML,Tomcat伺服器的安裝使用操作,HTTP協議簡單理解,Servlet API等,這個是java web開發的基礎。
*第十一階段:JSP開發:JSP文法和標籤,自訂標籤,EL,JSTL庫瞭解以及MVC三層架構的設計模式理念;
*第十二階段:AJAX開發:AJAX原理,請求響應處理,AJAX開發庫;
*第十三階段:輕量級架構,三大架構之一Struts架構的學習,自此踏入java web開發的精華部分,包括Struts體系架構,各種組件,標籤庫和擴充性的學習;
*第十四階段:Hibernate架構學習,三大架構之一,包括檢索映射技術,多表查詢技術,緩衝技術以及效能方面的最佳化;
*第十五階段:Spring架構的學習,三大架構之一,包括了IOC,AOP,DataSource,事務,SSH整合以及JPA整合;
*最後呢,還有些java的技術,包括EJB3.0等,可以選擇學習,與三大輕量級架構相比,EJB就是當之無愧的重量級了。
Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE。這三塊相互補充,應用範圍不同。
J2SE就是Java2的標準版,主要用於案頭應用軟體的編程;
J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;
J2EE是Java2的企業版,主要用於分布式的網路程式的開發,如電子商務網站和ERP系統。
先學習j2se
要學習j2ee就要先學習j2se,剛開始學習j2se先建議不要使用IDE,然後漸漸的過渡到使用IDE開發,畢竟用它方便嘛。學習j2se推薦兩本書,《java2核心技術一二卷》,《java編程思想》,《java模式》。其中《java編程思想》要研讀,精讀。這一段時間是基本功學習,時間會很長,也可能很短,這要看學習者自身水平而定。
不要被IDE糾纏
在學習java和j2ee過程中,你會遇到五花八門的IDE,不要被他們迷惑,學JAVA的時候,要學語言本身的東西,不要太在意IDE的附加功能,JAVA編程在不同IDE之間的轉換是很容易的,過於的在意IDE的功能反而容易耽誤對語言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加強版WSAD。用好其中一個就可以了,推薦從eclipse入手j2ee。因為Jbuilder更適合於寫j2se程式。
選擇和學習伺服器使用配置
當你有了j2se和IDE的經驗時,可以開始j2ee的學習了,web伺服器:tomcat,勿庸置疑,tomcat為學習web服務首選。而應用伺服器目前主要有三個:jboss、weblogic、websphere。有很多項目開始採用jboss,並且有大量的公司開始做websphere或weblogic向jboss應用伺服器的移植(節省成本),這裡要說的是,學習tomcat和jboss我認為是首選,也是最容易上手的。學習伺服器使用配置最好去詢問有經驗的人(有條件的話),因為他們或許一句話就能解決問題,你自己上網摸索可能要一兩天(我就幹過這種傻事),我們應該把主要時間放在學習原理和理論上,一項特定技術的使用永遠代替不了一個人的知識和學問。
學習web知識
如果你是在做電子商務網站等時,你可能要充當幾個角色,這是你還要學習:
html,可能要用到dreamwave等IDE。
Javascript,學會簡單的資料校正,資料聯動顯示等等。
J2eeAPI學習
學習j2eeAPI和學習伺服器應該是一個迭代的過程。
先學習jsp和servlet編程,這方面的書很多,我建立看oreilly公司的兩本《jsp設計》和《java servlet編程》,oreilly出的書總是那本優秀,不得不佩服。
學習jdbc資料庫編程,j2ee項目大多都是MIS系統,訪問資料庫是核心。這本應屬於j2se學習中,這裡拿出來強調一下。
學習jndi api,它和學習ejb可以結合起來。
學習ejb api,推薦書《精通ejb》
經過上面的這些的學習,大概可以對付一般的應用了。
有人說跟著sun公司的《j2ee tutorial》一路學下來,當然也可以。
學習ejb設計模式和看代碼(最重要)
設計模式是練內功,其重要性可以這麼說吧,如果你不會用設計模式的話,你將寫出一堆使用了ejb的垃圾,有慢又是一堆bug,其結果不如不用ejb實現(ejb不等於j2ee)
無論學習什麼語言,都應該看大量代碼,你看的代碼量不到一定數量,是學不好j2ee的。
目前有很多開源的工程可以作為教材:
jive論壇
petstore sun公司
dune sun公司
等等,研讀一個,並把它用到自己的工程中來。
J2ee其他學習
當你漸漸對j2ee瞭解到一定深度時,你要開始關注當前領域中的一些技術變化,J2ee是一塊百家爭鳴的領域,大家都在這裡提出自己的解決方案,例如structs,hiberate,ofbiz等等,學習這些東西要你的項目和目標而定,預先補充一下未嘗不可,但不用涉及太深,畢竟學習原理和理論是最最重要的事。
目前常見j2eeAPI
JavaServer Pages(JSP)技術1.2
Java Servlet技術2.3
JDBC API 2.0
Java XML處理API(JAXP)1.1
Enterprise JavaBeans技術2.0
JavaMessage Service(JMS)1.0
Java命名目錄介面(JNDI)1.2
Java事務API(JTA) 1.0
JavaMail API 1.2
JavaBeans啟用架構(JAF)1.0
J2EE連接器體繫結構(JCA)1.0
Java認證和授權服務(JAAS)1.0
學習上面的某些API要以你的項目而定,瞭解所有他們總之是有好處的。
上面印證了大家說的一句話,java語言本身不難學,但是技術太多,所以學java很費勁。回想一下,基本上每個初學者,在剛學習java的時候可能都會問別人這麼一句話,你怎麼知道的哪個方法(api)在哪個包裡的?呵呵,無他,唯手熟爾