真正的Java學習從入門到精通(轉)

post0發表於2007-08-12
真正的Java學習從入門到精通(轉)[@more@]

  一、 工具篇JDK (Java Development Kit)

  

  JDK是整個Java的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具和Java基礎的類庫(rt.jar)。不論什麼Java應用伺服器實質都是內建了某個版本的JDK。因此掌握JDK是學好Java的第一步。最主流的JDK是Sun公司釋出的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)執行效率要比Sun JDK包含的JVM高出許多。而專門執行在x86平臺的Jrocket在服務端執行效率也要比Sun JDK好很多。但不管怎麼說,我們還是需要先把Sun JDK掌握好。

  

  1、 JDK的下載和安裝

  

  JDK又叫做J2SE(Java2 SDK Standard Edition),可以從Sun的Java網站上下載到, ;,JDK當前最新的版本是J2SDK5.0(中文名:猛虎),建議下載1.42的JDK,下載頁面在這裡:。下載好的JDK是一個可執行安裝程式,預設安裝完畢後會在C:Program FilesJava目錄下安裝一套JRE(供瀏覽器來使用),在C:j2sdk1.4.2下安裝一套JDK(也包括一套JRE)。然後我們需要在環境變數PATH的最前面增加java的路徑C:j2sdk1.4.2in。這樣JDK就安裝好了。

  

  2、 JDK的命令工具

  

  JDK的最重要命令列工具:

  

  

  java: 啟動JVM執行class

  javac: Java編譯器

  jar: Java打包工具

  javadoc: Java文件生成器

  

  

  這些命令列必須要非常非常熟悉,對於每個引數都要很精通才行。對於這些命令的學習,JDK Documentation上有詳細的文件。

  

  二、 JDK Documentation

  

  Documentation在JDK的下載頁面也有下載連線,建議同時下載Documentation。Documentation是最最重要的程式設計手冊,涵蓋了整個Java所有方面的內容的描述。可以這樣說,學習Java程式設計,大部分時間都是花在看這個Documentation上面的。我是隨身攜帶的,寫Java程式碼的時候,隨時檢視,須臾不離手。

  

  三、 應用伺服器(App Server)

  

  

  App Server是執行Java企業元件的平臺,構成了應用軟體的主要執行環境。當前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免費的Jboss,選擇其中一個進行學習就可以了,個人推薦Weblogic,因為它的體系結構更加乾淨,開發和部署更加方便,是Java企業軟體開發人員首選的開發平臺。下面簡要介紹幾種常用的App Server:

  

  1、 Tomcat

  

  Tomcat嚴格意義上並不是一個真正的App Server,它只是一個可以支援執行Serlvet/JSP的Web容器,不過Tomcat也擴充套件了一些App Server的功能,如JNDI,資料庫連線池,使用者事務處理等等。Tomcat被非常廣泛的應用在中小規模的Java Web應用中,因此本文做一點下載、安裝和配置Tomcat的介紹:

  

  Tomcat是Apache組織下Jakarta專案下的一個子專案,它的主網站是: ;,Tomcat最新版本是Tomcat4.1.27,軟體下載的連線是: ;。

  

  下載Tomcat既可以直接下載zip包,也可以下載exe安裝包(個人建議zip更乾淨些),不管哪種情況,下載完畢安裝好以後(zip直接解壓縮就可以了)。需要設定兩個環境變數:

  

  

  JAVA_HOME=C:j2sdk1.4.2

  CATALINA_HOME=D: omcat4 (你的Tomcat安裝目錄)

  

  這樣就安裝好了,啟動Tomcat執行CATALINA_HOMEinstartup.bat,關閉Tomcat執行shutdown.bat指令碼。Tomcat啟動以後,預設使用8080埠,因此可以用瀏覽器訪問來測試Tomcat是否正常啟動。

  

  Tomcat提供了兩個Web介面的管理工具,URL分別是:

  

  /admin/index.jsp

  

  /manager/html

  

  在啟用這兩個管理工具之前,先需要手工配置一下管理員使用者和口令。用一個文字工具開啟CATALINA_HOMEconf omcat-users.xml這個檔案,加入如下幾行:

  

  

  

  

  

  這樣使用者“robbin”就具備了超級管理員許可權。重新啟動Tomcat以後,你就可以使用該使用者來登陸如上的兩個管理工具,透過Web方式進行Tomcat的配置和管理了。

  

  2、 BEA Weblogic

  

  Weblogic可以到BEA的網站上免費註冊之後下載到最新的Weblogic8.1企業版,License可以免費使用1年時間,其實這已經完全足夠了。Weblogic的下載連線:,.../edocs.bea.com/ 。

  

  3、 IBM Webshpere

  

  Websphere同樣可以下載到免費的試用版本,到IBM的developerWorks網站可以看到Websphere試用產品的下載和相關的Websphere的資料,developerWorks中文網站的連線是:http://www-900.ibm.com/developerWorks/cn/wsdd/ ;,Websphere的下載連線: ;。

  

  4、 Jboss

  

  Jboss是免費開源的App Server,可以免費的從Jboss網站下載:,然...n.com/idea.html

  

  四、 Java應用的執行環境

  

  Java的應用可以簡單分為以下幾個方面:

  

  1、 Java的桌面應用

  

  桌面應用一般僅僅需要JRE的支援就足夠了。

  

  

  2、 Java Web應用

  

  Java的Web應用至少需要安裝JDK和一個web容器(例如Tomcat),以及一個多使用者資料庫,Web應用至少分為三層:

  

  Browser層:瀏覽器顯示使用者頁面

  

  Web層:執行Servlet/JSP

  

  DB層:後端資料庫,向Java程式提供資料訪問服務

  

  

  3、 Java企業級應用

  

  企業級應用比較複雜,可以擴充套件到n層,最簡單情況會分為4層:

  

  Browser層:瀏覽器顯示使用者頁面

  

  Client層:Java客戶端圖形程式(或者嵌入式裝置的程式)直接和Web層或者EJB層互動

  

  Web層:執行Servlet/JSP

  

  EJB層:執行EJB,完成業務邏輯運算

  

  DB層:後端資料庫,向Java程式提供資料訪問服務

  

  

  4、 Java嵌入式應用

  

  Java嵌入式應用是一個方興未艾的領域,從事嵌入式開發,需要從Sun下載J2ME開發包,J2ME包含了嵌入式裝置專用虛擬機器KVM,和普通的JDK中包含的JVM有所不同。另外還需要到特定的嵌入式廠商那裡下載模擬器。

  

  

  書籍篇

  

  學習一門新的知識,不可能指望只看一本,或者兩本書就能夠完全掌握。需要有一個循序漸進的閱讀過程。我推薦Oreilly出版的Java系列書籍。

  

  在這裡我只想補充一點看法,很多人學習Java是從《Thinking in Java》這本書入手的,但是我認為這本書是不適合初學者的。我認為正確的使用這本書的方法應該是作為輔助的讀物。《Thinking in Java》並不是在完整的介紹Java的整個體系,而是一種跳躍式的寫作方法,是一種類似tips的方法來對Java很多知識點進行了深入的分析和解釋。

  

  對於初學者來說,最好是找一本Java入門的書籍,但是比較完整的循序的介紹Java的語法,物件導向的特性,核心類庫等等,在看這本書的同時,可以同步來看《Thinking in Java》,來加深對Java的理解和原理的運用,同時又可以完整的瞭解Java的整個體系。

  

  對於Java的入門書籍,蔡學鏞推薦的是Oreilly的《Exploring Java, 2nd Edition》 或者《Java in a Nutshell,2nd Edition(針對C++背景)》,我並沒有看過這兩本書。其實我覺得電子工業出版社的《Java 2程式設計詳解》或者《Java 2從入門到精通》就很不錯。

  

  在所有的Java書籍當中,其實最最有用的,並不是O'reilly的 Java Serials,真正最最有用處是JDK的Documentation!幾乎你想獲得的所有的知識在Documentation裡面全部都有,其中最主要的部分當然是Java基礎類庫的API文件,是按照package來組織的,對於每一個class都有詳細的解釋,它的繼承關係,是否實現了某個介面,通常用在哪些場合,還可以查到它所有的public的屬性和方法,每個屬性的解釋,意義,每個方法的用途,呼叫的引數,引數的意義,返回值的型別,以及方法可能丟擲的異常等等。

  

  可以這樣來說,所有關於Java程式設計方面的書籍其實都不過是在用比較通俗易懂的語言,和良好的組織方式來介紹Documentation裡面的某個package裡面包含的一些類的用法而已。所以萬變不離其宗,如果你有足夠的能力來直接透過Documentation來學習Java的類庫,那麼基本上就不需要看其他的書籍了。除此之外,Documentation也是程式設計必備的手冊,我的桌面上有三個Documentation的快捷方式,分別是J2SDK1.4.1的Documentation,Servlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了這個三個Documentation,什麼其他的書籍都不需要了。

  

  對於Java Web 程式設計來說,最核心的是要熟悉和掌握HTTP協議,這個就和Java無關了,在熟悉HTTP協議之後,就需要熟悉Java的實現HTTP協議的類庫,也就是Servlet API,所以最重要的東西就是Servlet API。當然對於初學者而言,直接透過Servlet API來學習Web程式設計有很大的難度,我推薦O'reilly的《Java Server Pages 》這本書來學習Web 程式設計。

  

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章