[轉載]Java學習之道

發信站: 兵馬俑BBS (Thu Mar 17 14:24:09 2005), 本站(bbs.xjtu.edu.cn)

Java學習之道

前言

本篇文章是應邀之做,由stup和Stoney共同完成,時間比較倉卒,但是還是希望能
夠給各位初學Java的朋友有用之處吧。本篇文章是按照csdn《程序員》雜誌的一篇
文章的構架並結合自己的實際經驗來寫的。今年是Java誕生10週年,謹以此篇先給
我們鍾愛的Java。

工具篇

JDK(Java Development Kit)

JDK是整個Java的核心,包括運行環境JRE(Java Runtime Environment),一些Ja
va工具和Java基礎類庫(rt.jar、tools.jar)。

1、JDK的下載和安裝

2004年夏,Sun Miscrosystem 推出了全新的J2SE 5.0(Java 2 Platform Standar
d Edition 5.0,也叫做 Tiger),我們可以從Sun的Java網站上免費下載到,http
://java.sun.com/j2se/1.5.0/download.jsp。下載好的JDK是一個可執行安裝程序
,默認安裝完畢以後會在c:/ Java目錄下安裝JDK和JRE。然後設置環境變量:在Pa
th變量中添加C:/Java/jdk1.5.0/bin,新建CLASSPATH變量,在參數裏邊添加(.;C
:/ /Java/jdk1.5.0/lib/rt.jar;C: /Java/jdk1.5.0/lib/tools.jar)。新建JAVA
_HOME變量,設置參數爲C: /Java/jdk1.5.0,安裝配置完畢以後,在命令行情況下
運行java,如果出現大量信息,則證明安裝配置成功!

2、     JDK的命令工具

JDK裏邊最重要的命令行工具:

java:啓動JVM(Java Virtue Machine)執行class

javac:編譯java源文件

jar:Java打包工具

javadoc:Java文檔生成器

有關這些命令的具體用法,在命令行裏邊不帶參數的直接執行上述命令,就會看到
大量的用法信息,讀者可以具體實踐一下。此外,JDK Documentation上面也有詳細
的說明。

JDK Documentation

Documentation 可以說是Java程序員最重要的編程手冊,涵蓋了Java幾乎所有方面
內容的描述。可以毫不誇張的說,學習Java編程,大部分的時間都是花費在研究和
查閱Documentation上面的。可見它的重要性,J2SE 5.0 Documentation可以到htt
p://java.sun.com/j2se/1.5.0/download.jsp下載,解壓縮以後便可以很方便的使
用了。

應用服務器(Applicaiton Server)

Application Server 是用來運行Java 企業組件的平臺,構成了應用軟件的主要運
行環境,當前主流的Application Server是IBM公司的Websphere、BEA公司的Weblo
gic Server以及免費的JBoss,如果是愛好者,推薦免費的JBoss,還有比較簡單的
Tomcat。下面簡要介紹幾種常用的Application Server

1、     Tomcat

嚴格意義上來講,Tomcat只是一個可以支持運行Servlet/JSP的Web容器,不過Tomc
at也擴展了一些App Server的功能,Tomcat非常廣泛的應用在中小規模的Java Web
中,因此是初學者的首選。下面就Tomcat的下載、安裝和配置進行詳細的介紹:

Tomcat是Apache組織Jakarta項目下的一個免費開源項目,目前最新版本的Tomcat5
.5支持Servlet2.4和JSP2.,我們可以從http://jakarta.apache.org/site/downlo
ads/index.html  免費下載到。下載以後,解壓到D:/tomcat裏邊。新建環境變量C
ATALINA_HOME,設置參數爲D:/tomcat(或者自己的tomcat目錄)。這樣就將Tomca
t安裝和配置完成,運行D:/tomcat/bin裏邊的startup.bat,啓動tomcat。默認的端
口是8080,在瀏覽器中鍵入http://localhost:8080。如果能看到有一個雄貓的界面
,那麼恭喜您,你的tomcat配置成功了!然後我們就可以使用Tomcat進行簡單的js
p和servlet的web編程實踐了。

2、     BEA Weblogic

Weblogic可以到BEA的網站http://commerce.bea.com/index.jsp下載最新的8.1版本
。Weblogic是一個功能強大的Server,具體用法可以參看Weblogic的在線文檔http
://edocs.bea.com/。

3、     IBM Websphere

Websphere同樣可以下載到免費的試用版本,可以到IMB的網站下載:http://www-1
28.ibm.com/developerworks/websphere/downloads/。做爲IBM的產品,Websphere
更能非常強大,現在已經取代Weblogic成爲應用最廣泛的java服務器。

4、     JBoss

JBoss是免費的開源Application Server,可以免費從JBoss網站下載:http://www
.jboss.org/index.html,做爲一個免費的Server,Jboss是學習J2EE的首選Server。


Java應用的分類及其運行環境

Java現在應用的非常廣泛,從大型的企業服務器,到手機PDA都可以看到Java的身影
。簡單的可以分爲一下幾個方面:

1、     Java的桌面應用

僅需要JRE的支持,我們就可以編寫出可以跨平臺的應用程序。

2、     Java Web應用

Java的Web應用至少需要安裝JDK和一個web容器(例如Tomcat),以及多用戶數據庫
,Web應用可以分爲三層:

Browser層:瀏覽器顯示用戶界面

Web層:運行Servlet/Jsp

DB層後臺數據庫,提供數據訪問服務。

3、     Java企業級應用

Java目前應用最廣泛的領域,目前全球大部分的服務器都是使用J2EE服務器。企業
級應用非常複雜,可以擴展到n層,最簡單的情況也有4層:

Browser層:瀏覽顯示用戶界面

Client層:Java客戶端應用程序直接和Web層或者EJB層交互

Web層:運行Servlet/Jsp

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

DB層後臺數據庫:提供數據服務

4、     Java嵌入式應用

現在的大多數手機和PDA都支持Java,其實就是支持Java嵌入式開發,這需要在Sun
的主頁上下載J2ME開發包,還需要到特定的廠商那裏下載模擬器。對於串口通訊,
IC卡等Java都提供了良好的開發環境。據悉,在某太空探測器上控制程序改爲Java
語言來編寫了。

書籍篇:

對於Java的初學者來說,如果找一本比較合適的入門教材的話,完整地介紹Java的
語法、面向對象和主要的API核心庫等知識,那將對學習起到相當的促進作用。

我個人認爲,一些經典的國外教材確實值得推崇,首先推薦要看的是《21天學通Ja
va 2》、《循序漸進Java 2教程》、《Java2從入門到精通》等書看起來比較淺顯易
懂,將Java的基本只是都涉及到了,使你在很短的時間內掌握Java的基本內容。

看完這這本書之一以後,你就想對Java全面深入的學習,現在向你推薦《Java大學
教程》、《Java 2編程指南》等書,這幾本書對Java的語法、面向對象的知識和AP
I函數庫等介紹的比較詳盡。讓你能夠比較熟練的使用Java來編程,解決一般的問題


最後向大家推薦的是《Java2核心技術》,這本書主要講述了Java的核心技術也是J
ava的難點之處,具有很高的參考價值,無論是Java的初學者還是Java編程老手,都
能從此書受益。

這時候大家可能會注意到,其中竟然沒有大名鼎鼎的《Thinking in Java》這本書
。其實,這本書主要是從編程思想上來講的,並沒有完整的講述Java的整個體系,
而是一種類似Tips的方法來對Java的知識點進行深入的分析和解釋,就好像C++的經
典教材《C++ Primier》一樣,並不適合作爲初學語言的入門教材,蛋是在深入學習
Java的過程中的同時來讀這本書會覺得受益匪淺。

值得一提的是,其實最有實用價值的是JDK-Document(下文中簡稱doc,http://ja
va.sun.com/j2se/1.5.0/download.jsp中有離線版下載的,本例中只是列舉了1.5的
doc,在相應的地方可以下載1.4甚至1.3的doc)和Java Tutorial在線教程(http:/
/java.sun.com/docs/books/tutorial/這個是在線查看的,離線版的下載本人目前
還不知道)。在doc中有四個部分API 文檔(對SDK自帶的標準Java API都進行了詳
細的介紹,它是按照package來組織的,詳細介紹了每一個class的繼承關係,接口
的實現情況,以及所有public的屬性和方法,對於每個方法的用途、調用的參數、
參數的類型,返回值的類型、以及方法可能拋出的異常等等)、guide(對一些Jav
a技術和概念進行講述)、relnotes(這個介紹新版本的JDK的發佈信息以及新特點
)、tooldocs(主要對Java的所有命令進行講述)。Doc是我們每一個Java工作者在
編程時必須的手冊,目前只有英文版,sun中國社區正在進行漢化,相信不久就會出
現中文版的doc了。Tutorial也相當的不錯,主要針對初學者,不過對於其他階段的
Java學習者也有很大的幫助了。

以上主要針對J2SE的學習進行講述的,Java主要有J2SE、J2EE、J2ME三個部分,J2
SE是基礎。當我們對J2SE的學習掌握的差不多的時候,其實我們就會對Java的學習
有自己獨特的體會,就會發現每一個Java技術自己所帶的doc都對我們的學習有很大
的幫助。此外,經常去一些著名的網站上去看看各位網友的作品,對Java學習的心
得,確實對我們有很大提高,這裏推薦http://blog.csdn.net。經常去圖書館或者
到書店去看看有關Java的書,看看它們是不是自己所需要的,這時候,選擇學習Ja
va的書籍就會自己拿主意了。

在上述的一些書籍的介紹中,並非每本書都要看,可根據自己的實際情況進行選擇
,或者像Java先行者諮詢即可。

過程篇

在Java的學習過程中,大家首先要搭建一個Java的環境,安裝好JDK。對於初學者來
說,在安裝JDK的過程中,CLASSPATH的設置是初學者經常會問題的地方,其中,".
"表示當前路徑,是CLASSPATH中必不可少的地方,否則,在有時候調試程序時,會
出現意想不到的錯誤。PATH的設置主要是爲了在調試程序時方便而已,這個同Wind
ows的PATH含義一樣。對於初學者,我個人強烈推薦使用UE(UltraEdit)+命令行(
Windows下附件中的命令提示符,Linux下面的Shell等)。在你自己對Java的操作比
較熟悉,對Java的底層只知識掌握的差不多的時候,然後再根據自己的需要選擇合
適的IDE,在此處我向各位推薦的都是免費軟件,Eclipse(http://www.eclipse.o
rg)和Netbeans(http://netbeans.org/),前者使用SWT編寫的,後者是用Swing
編寫的,我推薦使用前者,不過各位可根據實際情況盡心選擇,此外還有付費軟件
JBuilder,功能確實不錯。

在第二步學習Java語法的過程中,其實你會發現和C++很相似,其實Java是繼承了很
多語言的優點而誕生的一個優秀的編程語言。對於Java語法的學習不需要多長時間
,但是對於一些區別於C++的地方確實需要斟酌。每一本入門教材都會對語法進行大
篇幅的論述,因爲這是基礎。在學習中,一定要仔細,弄清出每一個細節問題,在
《Thinking in Java》中,對於語法的難點進行了詳盡的論述,可以參考這本書。


Java是一種面向對象的語言,涉及到比如繼承,構造器,抽象類,接口,方法的多
態,

重載,覆蓋,Java異常處理機制等方面的概念,這裏面有很多個知識點需要我們理
解,如果我們沒有C++的基礎的話,確實需要花費很長的時間,在這學習中,我覺得
應該是一個循序漸進的過程,而不可能是一步到位,在學習過程多反覆幾次,就會
有不小的收穫。如果你對C++有基礎的話,不妨考慮在對Java學習的差不多的時候,
學學UML(統一建模語言)和Java設計模式,會在今後編制Java程序中保持一個良好
的習慣。

對於Java中類庫的學習。Java的類庫很多,除了JDK標準類庫意外,還有很多第三方
Java類庫值得我們學習。我個人認爲在學習中,以下幾個經常用到的類庫是我們必
須掌握的

java.io.*;

java.util.*;

java.net.*;

java.lang.*;

值得一提的是,在Java編程中,系統默認import java.lang.*,所以我們在書寫的
時候就不需要在些這句了。

在學習中,我們不可能對每個類的每個方法進行仔細的學習和掌握,因爲我們沒有
那麼多的時間。我們所作的只是瞭解整個package的框架,在Doc文檔裏面每一個pa
ckage前面都有一個Uses of Class,我們可以閱讀一下這個,瞭解這個包內所有類
的用法,再對幾個常用的核心類進行掌握即可。我們學習API達到知道在什麼情況下
該用什麼類就可以了,其實就有很多人,在編程的時候,也是在翻閱API文檔,來尋
找呵護自己需要的類。說白了,對於類的積累,主要是在實踐當中多多積累,在調
試過程中提煉出自己的心得,纔有好處。對於其它包,只需要瞭解這個包的框架和
大致的類的分類就可以了,用的時候再仔細看看。

最後談談J2EE編程,其中J2EE編程中包括了JSP/Servlet技術。在JSP/Servlet的學
習中,最好能熟悉HTTP協議,這對我們進行編寫程序有很大的幫助。我們主要的參
考工具就是servlet document了,我們花上不長的時間把doc裏面的內容過一遍,然
後再參考Tomcat提供的範例學習後,我們就可以書寫這方面的程序了。在JSP的學習
中,還有JSP標記,這個記不住,可以臨時可以了,不過你得備好資料才能查詢哦。
此外在學習JSP中,還有對定製標誌的學習,這個學習一下它的用法,JavaBean等的
引入使得代碼可重用。在設計模式上,按照MVC(模型-視圖-控制)的設計模式來
完成,以及Web Appliacation等的部署等等。

在J2EE的學習中,除了要J2EE Document意外,找幾本比較經典的教材看看。因爲這
方面的難度比較大。掌握的知識涉及面主要有EJB、JMS、JNDI、JTA等,這些方面的
東西除了看書籍之外,對於網絡上網友總結的心得的學習也有很大的益處。

最後是Web Services的學習,這個其實是把不同的服務統一起來提供一個統一的調
用接口,目前這方面的代表主要是SOAP(簡單對象訪問協議),對於這方面的學習
我們可以看看SOAP的規範http://www.w3.org/TR/soap/,此外Apache提供了soap(
http://ws.apache.org/soap/index.html )包可以和Tomcat配合使用,它的學習可
以參看soap包自己的doc。

說了這麼多,其實最主要是看doc,然後再看看相關的經典教材。

方法篇

學習一門語言,最有效的辦法是在學習的同時能夠書寫代碼,調試,這樣我們對學
習的記憶比較深刻,但是我們學習時候不能滿足於調通了這個程序,我們可以嘗試
一下,修改代碼中的部分內容,看看會出現什麼情況,最後在想一想,爲什麼這樣
寫。

還要注意的是,在自己書寫代碼的時候一定要寫註釋,養成一個良好的習慣,仿照
JDK提供的sample裏面的書寫規則,使得代碼的結構比較清晰。

擴展篇

在Java的學習中,不能只侷限於學習Sun提供的Java技術,目前,Java開源社區開展
的如火如荼,也貢獻出不少精品,比如Hibernate+Spring,Eclipse,JBOSS等等。
我們可以根據需要有選擇性的學習這些技術。但起碼平時要對這些技術 有些大致的
了纔對。

資源篇

在Java的學習過程中,我一直提到網上資源的重要性和新穎性,經常查看網上資源
,有時候,一篇文章可以是你茅塞頓開或者是爲你開闢了一條新的學習道路。

下面列舉一些較好的網絡資源:

1、     http://java.sun.com                       sun的Java主頁

2、     http://www-900.ibm.com/devebperWorks/cn/      IBM的開發者社區,極力推


3、     http://www.javaworld.com

4、http://dev2dev.bea.com.cn/index.jsp 

5、     http://www.huihoo.com 

6、     http://gceclub.sun.com 

7、     http://www.javaresearch.com

8、     http://www.matrix.org.cn

9、     http://www.cn-java.com

好了就介紹這麼多吧,大家平時在學習中多多積累吧。

後記

從文中可以看出,本人的水平也就just so so,文章中難免有一些不正確之處,以
免誤認子弟,歡迎站內來信進行指點,我的ID是stup,再次多謝各位了。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章