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

java 學(xué)習(xí)流程

Java 發(fā)展到現(xiàn)在,按應(yīng)用來(lái)分主要分為三大塊: J2SE,J2ME J2EE 。這三塊相互補(bǔ)充,應(yīng)用范圍不同。
J2SE
就是 Java2 的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;
J2ME
主要應(yīng)用于嵌入是系統(tǒng)開(kāi)發(fā),如手機(jī)和 PDA 的編程;
J2EE
Java2 的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開(kāi)發(fā),如電子商務(wù)網(wǎng)站和 ERP 系統(tǒng)。

先學(xué)習(xí) j2se
要學(xué)習(xí) j2ee 就要先學(xué)習(xí) j2se ,剛開(kāi)始學(xué)習(xí) j2se 先建議不要使用 IDE ,然后漸漸的過(guò)渡到使用 IDE 開(kāi)發(fā),畢竟用它方便嘛。學(xué)習(xí) j2se 推薦兩本書(shū),《 java2 核心技術(shù)一二卷》,《 java 編程思想》,《 java 模式》。其中《 java 編程思想》要研讀,精讀。這一段時(shí)間是基本功學(xué)習(xí),時(shí)間會(huì)很長(zhǎng),也可能很短,這要看學(xué)習(xí)者自身水平而定。


不要被 IDE 糾纏
在學(xué)習(xí) java j2ee 過(guò)程中,你會(huì)遇到五花八門(mén)的 IDE ,不要被他們迷惑,學(xué) JAVA 的時(shí)候,要學(xué)語(yǔ)言本身的東西,不要太在意 IDE 的附加功能, JAVA 編程在不同 IDE 之間的轉(zhuǎn)換是很容易的,過(guò)于的在意 IDE 的功能反而容易耽誤對(duì)語(yǔ)言本身的理解。目前流行的 IDE jbuilder , eclipse eclipse 的加強(qiáng)版 WSAD 。用好其中一個(gè)就可以了,推薦從 eclipse 入手 j2ee 。因?yàn)?/span> Jbuilder 更適合于寫(xiě) j2se 程序。

選擇和學(xué)習(xí)服務(wù)器使用配置
當(dāng)你有了 j2se IDE 的經(jīng)驗(yàn)時(shí),可以開(kāi)始 j2ee 的學(xué)習(xí)了, web 服務(wù)器: tomcat ,勿庸置疑, tomcat 為學(xué)習(xí) web 服務(wù)首選。而應(yīng)用服務(wù)器目前主要有三個(gè): jboss 、 weblogic 、 websphere 。有很多項(xiàng)目開(kāi)始采用 jboss ,并且有大量的公司開(kāi)始做 websphere weblogic jboss 應(yīng)用服務(wù)器的移植(節(jié)省成本),這里要說(shuō)的是,學(xué)習(xí) tomcat jboss 我認(rèn)為是首選,也是最容易上手的。學(xué)習(xí)服務(wù)器使用配置最好去詢(xún)問(wèn)有經(jīng)驗(yàn)的人(有條件的話),因?yàn)樗麄兓蛟S一句話就能解決問(wèn)題,你自己上網(wǎng)摸索可能要一兩天(我就干過(guò)這種傻事),我們應(yīng)該把主要時(shí)間放在學(xué)習(xí)原理和理論上,一項(xiàng)特定技術(shù)的使用永遠(yuǎn)代替不了一個(gè)人的知識(shí)和學(xué)問(wèn)。

學(xué)習(xí) web 知識(shí)
如果你是在做電子商務(wù)網(wǎng)站等時(shí),你可能要充當(dāng)幾個(gè)角色,這是你還要學(xué)習(xí):
html
,可能要用到 dreamwave IDE
Javascript
,學(xué)會(huì)簡(jiǎn)單的數(shù)據(jù)校驗(yàn),數(shù)據(jù)聯(lián)動(dòng)顯示等等

J2eeAPI
學(xué)習(xí)
學(xué)習(xí) j2eeAPI 和學(xué)習(xí)服務(wù)器應(yīng)該是一個(gè)迭代的過(guò)程。
先學(xué)習(xí) jsp servlet 編程,這方面的書(shū)很多,我建立看 oreilly 公司的兩本《 jsp 設(shè)計(jì)》和《 java servlet 編程》, oreilly 出的書(shū)總是那本優(yōu)秀,不得不佩服。
學(xué)習(xí) jdbc 數(shù)據(jù)庫(kù)編程, j2ee 項(xiàng)目大多都是 MIS 系統(tǒng),訪問(wèn)數(shù)據(jù)庫(kù)是核心。這本應(yīng)屬于 j2se 學(xué)習(xí)中,這里拿出來(lái)強(qiáng)調(diào)一下。
學(xué)習(xí) jndi api ,它和學(xué)習(xí) ejb 可以結(jié)合起來(lái)。
學(xué)習(xí) ejb api ,推薦書(shū)《精通 ejb
經(jīng)過(guò)上面的這些的學(xué)習(xí),大概可以對(duì)付一般的應(yīng)用了。
有人說(shuō)跟著 sun 公司的《 j2ee tutorial 》一路學(xué)下來(lái),當(dāng)然也可以。

學(xué)習(xí) ejb 設(shè)計(jì)模式和看代碼(最重要)
設(shè)計(jì)模式是練內(nèi)功,其重要性可以這么說(shuō)吧,如果你不會(huì)用設(shè)計(jì)模式的話,你將寫(xiě)出一堆使用了 ejb 的垃圾,有慢又是一堆 bug ,其結(jié)果不如不用 ejb 實(shí)現(xiàn)( ejb 不等于 j2ee
無(wú)論學(xué)習(xí)什么語(yǔ)言,都應(yīng)該看大量代碼,你看的代碼量不到一定數(shù)量,是學(xué)不好 j2ee
目前有很多開(kāi)源的工程可以作為教材:
jive
論壇
petstore sun
公司
dune sun
公司
等等,研讀一個(gè),并把它用到自己的工程中來(lái)。

J2ee
其他學(xué)習(xí)
當(dāng)你漸漸對(duì) j2ee 了解到一定深度時(shí),你要開(kāi)始關(guān)注當(dāng)前領(lǐng)域中的一些技術(shù)變化, J2ee 是一塊百家爭(zhēng)鳴的領(lǐng)域,大家都在這里提出自己的解決方案,例如 structs , hiberate , ofbiz 等等,學(xué)習(xí)這些東西要你的項(xiàng)目和目標(biāo)而定,預(yù)先補(bǔ)充一下未嘗不可,但不用涉及太深,畢竟學(xué)習(xí)原理和理論是最最重要的事。

目前常見(jiàn) j2eeAPI
JavaServer Pages(JSP)
技術(shù)
1.2
Java Servlet
技術(shù)
2.3
JDBC API 2.0
Java XML
處理
API(JAXP)1.1
Enterprise JavaBeans
技術(shù)
2.0
Java
消息服務(wù)
(JMS)1.0
Java
命名目錄接口
(JNDI)1.2
Java
事務(wù)
API(JTA) 1.0
JavaMail API 1.2
JavaBeans
激活架構(gòu)
(JAF)1.0
J2EE
連接器體系結(jié)構(gòu)
(JCA)1.0
Java
認(rèn)證和授權(quán)服務(wù)
(JAAS)1.0
學(xué)習(xí)上面的某些 API 要以你的項(xiàng)目而定,了解所有他們總之是有好處的

上面印證了大家說(shuō)的一句話, java 語(yǔ)言本身不難學(xué),但是技術(shù)太多,所以學(xué) java 很費(fèi)勁?;叵胍幌?,基本上每個(gè)初學(xué)者,在剛學(xué)習(xí) java 的時(shí)候可能都會(huì)問(wèn)別人這么一句話,你怎么知道的哪個(gè)方法 (api) 在哪個(gè)包里的?呵呵,無(wú)他,唯手熟爾。