我在學習
Java
的過程中主要圍繞以下幾個方面來學習:
1
.時刻提醒自己
Java
是一種
OOP
語言工具,而不僅僅是編碼,只有這樣才能總體把握和運用
Java
。
2
.在學習的過程中,最好能夠了解
Java
的底層機制,而不是僅僅停留在表層,不是抄書上的例子運行出結果就可以。要注意,即便對一個簡單的例子也要有耐心去琢磨、調試、改動。
3
.在學習的過程中一定要動手做、寫代碼,而不是抱一本書看看就行。很多東西和體會必須自己動手才能真正屬于自己,最好能參與一些實際的項目。
4
.在學到一定階段后,你開始希望用學過的東西做些什么。這時的你應該開始學習一些更多、更復雜的知識,比如
J2EE
平臺的構建、
EJB
的開發等。對于這一部分,我建議最好找一本較薄的書先了解一個大概,心里有個總體的認識,對更多的技術術語做個初步掌握。我認為這個階段看看《
J2EE
技術實踐》很不錯,它可以讓你了解
J2EE
包含的各種技術和框架,同時提供很多實際的例子來加深對
J2EE
的整體了解。
學習
Java
的興趣和決心起了很關鍵的作用。在有了上述基礎后,我便開始一步一步地學習
Java
。
Java
環境的搭建
要運行
Java
程序,必須安裝
JDK
。
JDK
是整個
Java
的核心,其中包括了
Java
編譯器、
JVM
、大量的
Java
工具以及
Java
基礎
API
。
可以從
http://Java.sun.com
下載
JDK
,有
1.4
版本和
1.31
版本。我的學習環境中首先,采用的是
1.31
版本。
解壓安裝。然后,進行環境設置。
1.
對于
Windows
平臺要進行以下設置:
set PATH=YOUR_INSTALL_ DIR\bin; C:\Windows;C:\Windows\Command
set classpath=. ;YOUR_INSTALL_DIR\lib\tools.jar
2.
對于
Linux
平臺要編輯
/etc/profile
文件:
JAVA_HOME=your_install_dir/JDK/j2sdk
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/td.jar:$JAVA_HOME/jr
-e/lib/rt.jar:.
PATH=$PATH:$JAVA_HOME/bin
export PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE
INPUTRC JAVA_HOME CLASSPATH RESIN_HOME
最后,在終端上輸入
Java
看能不能找到這個命令,如果能找到安裝就成功了。
下面介紹一下
JDK
的幾個重要的命令:
◆
Java
執行工具,是啟動
JVM
(虛擬機)并執行
class
(
BYTE CODE
)文件的命令;
◆
javac
編譯器,由
.java
文件生成
.class
文件;
◆
jar Java
壓縮打包工具;
◆
Javadoc
文檔生成器。
最后就是
JDK Documentation
,這是
JDK
的聯機幫助文檔,是最有用和最重要的學習參考文檔,應該多看。
開始寫自己的代碼
現在環境有了,應該寫個簡單的代碼進行測試了。還是從經典的“
hello word
”開始。
1
.
先用編輯器寫一代碼(我用的是
Linux
的
vi
):
[stone@coremsg work]$ vi Hello.Java
public class Hello{
public static void main(String []argc){
System.out.println("Hello Word!");
}
}
2
.
編譯:
[stone@coremsg work]$ Javac Hello.Java
3
.
執行:
[stone@coremsg work]$ Java Hello
Hello Word!
成功了!這就是我的第一個
Java
程序。從那時起我知道已開始走進
Java
的世界,接下來就靠自己的努力了。在這個過程中,筆者認為有幾點需要注意。
學習一門新的語言,參考書是離不開的。我的建議是開始最好找一本篇幅較短的入門書來學習那些最簡單、最基本的東西,包括學習
Java
語法等。同時,對一個最簡單的程序也應該多去調試,多想想如果改動一下會出現什么結果?為什么必須那樣寫?多去想想這些問題然后去操作,會讓你有更多的收獲。這樣反復地思考是很有用的。此外,在這一階段還應該多看
JDK
的聯機幫助,盡量多地掌握
JDK
提供的
Java
基本類庫
API
。
在有一定基礎、能夠寫一些簡單的程序后,可以開始看《
Thinking in Java
》這本書。它比較完整地介紹了
Java
的語法、面向對象的特性、核心類庫等。通過這一層次的學習能夠加深對
Java
的理解和底層原理的運用,同時又可以完整地了解
Java
的整個體系。在這一階段,應該重點學習
Java
的面向對象編程語言的特性,比如繼承、構造器、抽象類、接口、方法的多態、重載、覆蓋、
Java
的異常處理機制等,要對上述概念有非常清楚的了解。這樣做的目的,是要讓自己把這些技術應用到實踐中進行合理的程序設計(比如,你會考慮一個類是用抽象還是接口來設計等)。這就要求必須在大量的實踐中去應用和學習。這也是當初很多朋友給我的建議。
學習更多
如果要用
Java
來完成各種功能更強大的任務,那么就要學習語言以外的更多的東西。
1.Java Web
編程
對于
Java Web
編程來說,應該而且必須熟悉和掌握
HTTP
協議,可以參考
Stevens
的《
TCP/IP
詳解》第三卷。
Java Servlet
技術提供了生成動態
Web
頁面內容的能力,這在你的
Java
項目中是最基本的功能之一,所以必須學習。通過這一階段的學習應該掌握
Servlet/JSP
的
Web
編程。
2. J2EE
的學習
J2EE
包含的技術太多了。如果你想坐在桌子旁邊抱著一大堆書來學習的話,效果不大的。我建議在開始這一階段的學習的時候,可以按以下步驟來做,總的思想是“總體把握,各個擊破”。
◆
了解
J2EE
中的技術術語的含義。
我的感覺是
J2EE
標準中涉及到的各種技術很多,如果一開始就一個一個去學習的話是不現實的,也是沒效果的。我的建議是,先對其中的技術有個大概的了解,比如
EJB
、
JavaIDL
、
JTA
等。可能你不知道怎么去寫一個
EJB
,但是要知道什么是
EJB
、它能做什么,當有了這樣的概念后,再去有目的地學習它就會快很多。我還要再重復一句——必須要在實踐中動手去做才行。
◆
了解
J2EE
中的設計模式,這樣能幫助你對
J2EE
做個整體把握。
MVC
開發模式被證明是有效的處理方法之一。它可以分離數據訪問和數據表現。你可以開發一個有伸縮性的、便于擴展的控制器,來維護整個流程。通過這一層次的學習,當你面對一個項目的時候,應該首先把握它的總體架構的設計,以及決定采用
J2EE
標準中的哪些技術。
◆
了解一些
J2EE
平臺的典型案列,加深對這一技術的概念和理解。
平時可以多留意這方面,熟悉一些典型案例,分析它為什么要采用那個時間?那樣做能達到什么樣的目的?然后聯系到自己身邊的項目是否可以作為參考。
◆
學習
J2EE
下的各種技術。
在有了前幾階段的學習后,可以自己搭建一個
J2EE
平臺開始具體學習每一種技術。你可以參與公司相關項目進行學習,也可以自己搭建一個平臺進行學習。這時候應該找點相關的書來一步一步學習,沒有捷徑可走。如果你不滿足于這些,那么還應該更深入地學習
UML
、設計模式等方面的東西。