但是這本書也有一個問題,就是版本比較舊,主要講EJB1.1規(guī)范和部分EJB2.0的規(guī)范。而Ed Roman寫的《Mastering EJB 2.0》這本書完全是根據(jù)EJB2.0規(guī)范寫的,深入淺出,覆蓋了EJB編程的各個方面,并且還有很多編程經(jīng)驗tips,也是學(xué)習(xí)EJB非常推薦的書籍之一。
如果是結(jié)合Weblogic來學(xué)習(xí)J2EE的話,《J2EE應(yīng)用與BEA Weblogic Server》絕對是首選讀物,雖然是講述的Weblogic6.0,仍然值得購買,這本書是BEA官方推薦的教材,作者也是BEA公司的工程師,F(xiàn)在中文版已經(jīng)隨處可見了。這本書結(jié)合Weblogic介紹了J2EE各個方面的技術(shù)在Weblogic平臺上的開發(fā)和部署,實踐指導(dǎo)意義非常強(qiáng)。
在掌握了Java平臺基礎(chǔ)知識和J2EE方面的知識以后,更進(jìn)一步的是學(xué)習(xí)如何運(yùn)用OO的方法進(jìn)行軟件的設(shè)計,那么就一定要學(xué)習(xí)“設(shè)計模式”。Sun公司出版了一本《J2EE核心模式》,是每個開發(fā)Java企業(yè)平臺軟件的架構(gòu)師必備的書籍。這本書全面的介紹了J2EE體系架構(gòu)的各種設(shè)計模式,是設(shè)計師的必讀書籍。
Java Learning Path(三)過程篇
每個人的學(xué)習(xí)方法是不同的,一個人的方法不見得適合另一個人,我只能是談自己的學(xué)習(xí)方法。因為我學(xué)習(xí)Java是完全自學(xué)的,從來沒有問過別人,所以學(xué)習(xí)的過程基本上完全是自己摸索出來的。我也不知道這種方法是否是比較好的方法,只能給大家提供一點(diǎn)參考了。
學(xué)習(xí)Java的第一步是安裝好JDK,寫一個Hello World,? 其實JDK的學(xué)習(xí)沒有那么簡單,關(guān)于JDK有兩個問題是很容易一直困擾Java程序員的地方:一個是CLASSPATH的問題,其實從原理上來說,是要搞清楚JRE的ClassLoader是如何加載Class的;另一個問題是package和import問題,如何來尋找類的路徑問題。把這兩個問題摸索清楚了,就掃除了學(xué)習(xí)Java和使用JDK的最大障礙。推薦看一下王森的《Java深度歷險》,對這兩個問題進(jìn)行了深入的探討。
第二步是學(xué)習(xí)Java的語法。Java的語法是類C++的,基本上主流的編程語言不是類C,就是類C++的,沒有什么新東西,所以語法的學(xué)習(xí),大概就是半天的時間足夠了。唯一需要注意的是有幾個不容易搞清楚的關(guān)鍵字的用法,public,protected,private,static,什么時候用,為什么要用,怎么用,這可能需要有人來指點(diǎn)一下,我當(dāng)初是完全自己琢磨出來的,花了很久的時間。不過后來我看到《Thinking in Java》這本書上面是講了這些概念的。
第三步是學(xué)習(xí)Java的面向?qū)ο蟮木幊陶Z言的特性的地方。比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機(jī)制。對于一個沒有面向?qū)ο笳Z言背景的人來說,我覺得這個過程需要花很長很長時間,因為學(xué)習(xí)Java之前沒有C++的經(jīng)驗,只有C的經(jīng)驗,我是大概花了一個月左右吧,才徹底把這些概念都搞清楚,把書上面的例子反復(fù)的揣摩,修改,嘗試,把那幾章內(nèi)容反復(fù)的看過來,看過去,看了不下5遍,才徹底領(lǐng)悟了。不過我想如果有C++經(jīng)驗的話,應(yīng)該一兩天時間足夠了。那么在這個過程中,可以多看看《Thinking in Java》這本書,對面向?qū)ο蟮闹v解非常透徹?上У氖俏覍W(xué)習(xí)的時候,并沒有看到這本書,所以自己花了大量的時間,通過自己的嘗試和揣摩來學(xué)會的。
第四步就是開始熟悉Java的類庫。Java的基礎(chǔ)類庫其實就是JDK安裝目錄下面jre\lib\rt.jar這個包。學(xué)習(xí)基礎(chǔ)類庫就是學(xué)習(xí)rt.jar;A(chǔ)類庫里面的類非常非常多。據(jù)說有3000多個,我沒有統(tǒng)計過。但是真正對于我們來說最核心的只有4個,分別是
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;
這四個包的學(xué)習(xí),每個包的學(xué)習(xí)都可以寫成一本厚厚的教材,而O′reilly也確實是這樣做的。我覺得如果時間比較緊,是不可能通過讀四本書來學(xué)習(xí)。我覺得比較好的學(xué)習(xí)方法是這樣的:
首先要通讀整個package的框架,了解整個package的class,interface,exception的構(gòu)成,最好是能夠找到介紹整個包框架的文章。這些專門介紹包的書籍的前幾章應(yīng)該就是這些總體的框架內(nèi)容介紹。
對包整體框架的把握并不是要熟悉每個類的用法,記住它有哪些屬性,方法。想記也記不住的。而是要知道包有哪些方面的類構(gòu)成的,這些類的用途是什么,最核心的幾個類分別是完成什么功能的。我在給人培訓(xùn)的時候一般是一次課講一個包,所以不可能詳細(xì)的介紹每個類的用法,但是我反復(fù)強(qiáng)調(diào),我給你們講這些包的不是要告訴你們類的方法是怎么調(diào)用的,也不要求你們記住類的方法調(diào)用,而是要你們了解,Java給我們提供了哪些類,每個類是用在什么場合,當(dāng)我遇到問題的時候,我知道哪個類,或者哪幾個類的組合可以解決我的問題,That′all!,當(dāng)我們具體寫程序的時候,只要你知道該用哪個類來完成你的工作就足夠了。編碼的時候,具體的方法調(diào)用,是邊寫代碼,邊查Documentation,所有的東西都在Documentation里面,不要求你一定記住,實際你也記不住3000多個類的總共將近10萬個方法調(diào)用。所以對每個包的總體框架的把握就變得極為重要。
第五步,通過上面的學(xué)習(xí),如果學(xué)的比較扎實的話,就打好了Java的基礎(chǔ)了,剩下要做的工作是掃清Documentation里面除了上面4個包之外的其他一些比較有用處的類。相信進(jìn)展到這一步,Java的自學(xué)能力已經(jīng)被培養(yǎng)出來了,可以到了直接學(xué)習(xí)Documentation的水平了。除了要做GUI編程之外,JDK里面其他會有用處的包是這些:
java.text.*;
java.net.*;
javax.naming.*;
這些包里面真正用的比較多的類其實很少,只有幾個,所以不需要花很多時間。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |