Java學習從入門到精通_第1頁
Java學習從入門到精通_第2頁
Java學習從入門到精通_第3頁
Java學習從入門到精通_第4頁
Java學習從入門到精通_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Java Learning Path (一)、工具篇一、 JDK (Java Development Kit)JDK 是整個Java的核心,包括了Java運行環(huán)境JRE(Java Runtime Environment),一堆Java工具和Java基礎的類庫 (rt.jar)。不論什么Java應用服務器實質(zhì)都是內(nèi)置了某個版本的JDK。因此掌握JDK是學好Java的第一步。最主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開發(fā)了自己的JDK,例如IBM公司開發(fā)的JDK,BEA公司的

2、Jrocket,還有GNU組織開發(fā)的 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網(wǎng)站上下載到,java: 啟動JVM執(zhí)行classjavac:

3、0;Java編譯器jar: Java打包工具javadoc: Java文檔生成器這些命令行必須要非常非常熟悉,對于每個參數(shù)都要很精通才行。對于這些命令的學習,JDK Documentation上有詳細的文檔。二、 JDK DocumentationDocumentation 在JDK的下載頁面也有下載連接,建議同時下載Documentation。Documentation是最最重要的編程手冊,涵蓋了整個Java所有方面的內(nèi)容的描述??梢赃@樣說,學習Java編程,大部分時間都是花在看這個Documentation上面的。我是隨身攜帶的,寫Java

4、代碼的時候,隨時查看,須臾不離手。三、 應用服務器(App Server)App Server是運行Java企業(yè)組件的平臺,構(gòu)成了應用軟件的主要運行環(huán)境。當前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免費的 Jboss,選擇其中一個進行學習就可以了,個人推薦Weblogic,因為它的體系結(jié)構(gòu)更加干凈,開發(fā)和部署更加方便,是Java企業(yè)軟件開發(fā)人員首選的開發(fā)平臺。下面簡要介紹幾種常用的App Server:1、 TomcatTomcat嚴格意義上并不是一個真正的

5、App Server,它只是一個可以支持運行Serlvet/JSP的Web容器,不過Tomcat也擴展了一些App Server的功能,如 JNDI,數(shù)據(jù)庫連接池,用戶事務處理等等。Tomcat被非常廣泛的應用在中小規(guī)模的Java Web應用中,因此本文做一點下載、安裝和配置 Tomcat的介紹:Tomcat是Apache組織下Jakarta項目下的一個子項目,它的主網(wǎng)站是:http:/localhost:8080來測試Tomcat是否正常啟動。Tomcat提供了兩個Web界面的管理工具,URL分別是:http:/localhost:8080/admin/inde

6、x.jsp http:/localhost:8080/manager/html 在啟用這兩個管理工具之前,先需要手工配置一下管理員用戶和口令。用一個文本工具打開CATALINA_HOMEconftomcat-users.xml這個文件,加入如下幾行:<role rolename="manager"/><role rolename="admin"/><user username="robbin" password="12345678&qu

7、ot; roles="admin,manager,tomcat"/>這樣用戶“robbin”就具備了超級管理員權(quán)限。重新啟動Tomcat以后,你就可以使用該用戶來登陸如上的兩個管理工具,通過Web方式進行Tomcat的配置和管理了。2、 BEA WeblogicWeblogic可以到BEA的網(wǎng)站上免費注冊之后下載到最新的Weblogic8.1企業(yè)版,License可以免費使用1年時間,其實這已經(jīng)完全足夠了。Weblogic的下載連接:,Weblogic的在線文檔:;。3、 IBM WebshpereWebsphere同

8、樣可以下載到免費的試用版本,到IBM的developerWorks網(wǎng)站可以看到Websphere試用產(chǎn)品的下載和相關(guān)的Websphere的資料,developerWorks中文網(wǎng)站的連接是:;,Websphere的下載連接:;。4、 JbossJboss是免費開源的App Server,可以免費的從Jboss網(wǎng)站下載:,然而Jboss的文檔是不免費,需要花錢購買,所以為我們學習Jboss設置了一定的障礙。在Jdon上有幾篇不錯的Jboss配置文檔,可以用來參考:;四、 Java應用的運行環(huán)境Java的應用可以簡單分為以下幾個方面:1、 Java的桌面應用

9、桌面應用一般僅僅需要JRE的支持就足夠了。2、 Java Web應用Java的Web應用至少需要安裝JDK和一個web容器(例如Tomcat),以及一個多用戶數(shù)據(jù)庫,Web應用至少分為三層:Browser層:瀏覽器顯示用戶頁面Web層:運行Servlet/JSPDB層:后端數(shù)據(jù)庫,向Java程序提供數(shù)據(jù)訪問服務3、 Java企業(yè)級應用企業(yè)級應用比較復雜,可以擴展到n層,最簡單情況會分為4層:Browser層:瀏覽器顯示用戶頁面Client層:Java客戶端圖形程序(或者嵌入式設備的程序)直接和Web層或者EJB層交互Web層:運行Servlet/JSPEJB層:運

10、行EJB,完成業(yè)務邏輯運算DB層:后端數(shù)據(jù)庫,向Java程序提供數(shù)據(jù)訪問服務4、 Java嵌入式應用Java嵌入式應用是一個方興未艾的領域,從事嵌入式開發(fā),需要從Sun下載J2ME開發(fā)包,J2ME包含了嵌入式設備專用虛擬機KVM,和普通的JDK中包含的JVM有所不同。另外還需要到特定的嵌入式廠商那里下載模擬器。Java Learning Path(二)、書籍篇學習一門新的知識,不可能指望只看一本,或者兩本書就能夠完全掌握。需要有一個循序漸進的閱讀過程。我推薦Oreilly出版的Java系列書籍。在這里我只想補充一點看法,很多人學習Java是從Thinking

11、60;in Java這本書入手的,但是我認為這本書是不適合初學者的。我認為正確的使用這本書的方法應該是作為輔助的讀物。Thinking in Java并不是在完整的介紹Java的整個體系,而是一種跳躍式的寫作方法,是一種類似tips的方法來對Java很多知識點進行了深入的分析和解釋。對于初學者來說,最好是找一本Java入門的書籍,但是比較完整的循序的介紹Java的語法,面向?qū)ο蟮奶匦?,核心類庫等等,在看這本書的同時,可以同步來看Thinking in Java,來加深對Java的理解和原理的運用,同時又可以完整的了解Java的整個體系。對于Ja

12、va的入門書籍,蔡學鏞推薦的是Oreilly的<<Exploring Java, 2nd Edition>>或者Java in a Nutshell,2nd Edition(針對C+背景),我并沒有看過這兩本書。其實我覺得電子工業(yè)出版社的Java 2編程詳解或者Java 2從入門到精通就很不錯。在所有的Java書籍當中,其實最最有用的,并不是O'reilly的 Java Serials,真正最最有用處是JDK的Documentation!幾乎你想獲得的所

13、有的知識在Documentation里面全部都有,其中最主要的部分當然是Java基礎類庫的API文檔,是按照package來組織的對于Java Web 編程來說,最核心的是要熟悉和掌握HTTP協(xié)議,這個就和Java無關(guān)了,在熟悉HTTP協(xié)議之后,就需要熟悉Java的實現(xiàn)HTTP協(xié)議的類庫,也就是Servlet API,王森的Java深度歷險,對這兩個問題進行了深入的探討。第二步是學習Java的語法。Java的語法是類C+的,基本上主流的編程語言不是類C,就是類C+的,沒有什么新東西,所以語法的學習,大概就是半天的時間足夠了。唯一需要注意的是有幾個不容易搞清楚的關(guān)鍵

14、字的用法, public,protected,private,static,什么時候用,為什么要用,怎么用,這可能需要有人來指點一下,我當初是完全自己琢磨出來的,花了很久的時間。不過后來我看到Thinking in Java這本書上面是講了這些概念的。第三步是學習Java的面向?qū)ο蟮木幊陶Z言的特性的地方。比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機制。對于一個沒有面向?qū)ο笳Z言背景的人來說,我覺得這個過程需要花很長很長時間,因為學習Java之前沒有C+的經(jīng)驗,只有C的經(jīng)驗,我是大概花了一個月左右吧,才徹底把這些概念都搞清楚,把書上面的例子反復的

15、揣摩,修改,嘗試,把那幾章內(nèi)容反復的看過來,看過去,看了不下5遍,才徹底領悟了。不過我想如果有C+經(jīng)驗的話,應該一兩天時間足夠了。那么在這個過程中,可以多看看Thinking in Java這本書,對面向?qū)ο蟮闹v解非常透徹??上У氖俏覍W習的時候,并沒有看到這本書,所以自己花了大量的時間,通過自己的嘗試和揣摩來學會的。第四步就是開始熟悉Java的類庫。Java的基礎類庫其實就是JDK安裝目錄下面jrelibrt.jar這個包。學習基礎類庫就是學習rt.jar?;A類庫里面的類非常非常多。據(jù)說有3000多個,我沒有統(tǒng)計過。但是真正對于我們來說最核心的只有4個,分別是;這四個包的

16、學習,每個包的學習都可以寫成一本厚厚的教材,而O'reilly也確實是這樣做的。我覺得如果時間比較緊,是不可能通過讀四本書來學習。我覺得比較好的學習方法是這樣的:首先要通讀整個package的框架,了解整個package的class,interface,exception的構(gòu)成,最好是能夠找到介紹整個包框架的文章。這些專門介紹包的書籍的前幾章應該就是這些總體的框架內(nèi)容介紹。對包整體框架的把握并不是要熟悉每個類的用法,記住它有哪些屬性,方法。想記也記不住的。而是要知道包有哪些方面的類構(gòu)成的,這些類的用途是什么,最核心的幾個類分別是完成什么功能的。我在給人培訓的時候一般是一次課講一個包,所

17、以不可能詳細的介紹每個類的用法,但是我反復強調(diào),我給你們講這些包的不是要告訴你們類的方法是怎么調(diào)用的,也不要求你們記住類的方法調(diào)用,而是要你們了解,Java給我們提供了哪些類,每個類是用在什么場合,當我遇到問題的時候,我知道哪個類,或者哪幾個類的組合可以解決我的問題,That's all!,當我們具體寫程序的時候,只要你知道該用哪個類來完成你的工作就足夠了。編碼的時候,具體的方法調(diào)用,是邊寫代碼,邊查Documentation,所有的東西都在Documentation里面,不要求你一定記住,實際你也記不住 3000多個類的總共將近10萬個方法調(diào)用。所以對每個包的總體框架的把握就變得極為

18、重要。第五步,通過上面的學習,如果學的比較扎實的話,就打好了Java的基礎了,剩下要做的工作是掃清Documentation里面除了上面4個包之外的其他一些比較有用處的類。相信進展到這一步, Java的自學能力已經(jīng)被培養(yǎng)出來了,可以到了直接學習Documentation的水平了。除了要做GUI編程之外,JDK里面其他會有用處的包是這些:;這些包里面真正用的比較多的類其實很少,只有幾個,所以不需要花很多時間。第六步,Java Web 編程,Web編程的核心是HTTP協(xié)議,HTTP協(xié)議和Java無關(guān),如果不熟悉HTTP協(xié)議的話,雖然也可以學好 Servlet/JSP編程,但是達

19、不到舉一反三,一通百通的境界。所以HTTP協(xié)議的學習是必備的。如果熟悉了HTTP協(xié)議的話,又有了Java編程的良好的基礎,學習Servlet/JSP簡直易如反掌,我學習Servlet/JSP就用了不到一周的時間,然后就開始用JSP來做項目了。在Servlet/JSP 的學習中,重頭仍然是Servlet Documentation。Servlet API最常用的類很少,花比較少的時間就可以掌握了。把這些類都看一遍,多寫幾個例子試試。Servlet/JSP編程本質(zhì)就是在反復調(diào)用這些類來通過HTTP協(xié)議在Web Server和Brower之間交談。學習編程就是個破壞的過

20、程java ?verbosejavac ?verbose 以及其它很多JDK工具都有這個選項-verbose 可以顯示在命令執(zhí)行的過程中,JVM都依次加載哪里Class,通過這些寶貴的調(diào)試信息,可以幫助我們分析出JVM在執(zhí)行的過程中都干了些什么。另外,自己在學習過程中,寫的很多的這種破壞例程,應該有意識的分門別類的保存下來,在工作中積累的典型例程也應該定期整理,日積月累,自己就有了一個代碼庫了。遇到類似的問題,到代碼庫里面 Copy & Paste ,Search & Replace,就好了,極大提高了開發(fā)速度。最理想的情況是把一些通用的例程自己再抽象一層,形成一個通用的類庫,封裝好。那么可復用性就更強了。所以我覺得其實不是特別需要例程的,自己寫的破壞例程就是最好的例子,如果你實在對自己寫的代碼不放心的話,我強烈推薦你看看JDK基礎類庫的Java源代碼。在JDK安裝目錄下面會有一個 src.zip,解開來就可以完整的看到整個JDK基礎類庫,也就是rt.jar的Java源代碼,你可以參考一下Sun是怎么寫Java程序的,規(guī)范是什么樣子的。我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論