原文:http://dev.wl668.com/java/j2se/20057265401_4119325.shtml

java 學習流程

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
Java
消息服務
(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) 在哪個包里的?呵呵,無他,唯手熟爾。