茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729034 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00013.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2008/3/18 4:25:02
Java 學習之道

目前 Java 可以說是產業界和學術界最熱門的語言,許多讀者都很急切想把 Java 學好。除非像電影「駭課任務」(Matrix)一樣能夠把需要的專業技巧下載到腦海(女主角只花了幾秒下載資料,就馬上具備飛行員的技巧),或是武俠小說中的運功傳送內力的方式,否則花上一段時間苦學是免不了的。花時間,不打緊,就怕方法錯誤,事倍功半。我認為,學習 Java 包括了下列的範疇:

* 認識 Java 的原理
* 學會 Java 語言
* 物件導向的思維
* API
* 開發工具的用法

下面分別就這幾點詳細闡述。

學習 Java 的原理

瞭解 Java 的原理,才有可能真正體會 Java 的一切,學習任何事情,只要能掌握原理,就會比較順利。我發現許多人使用 Java 已經逾年,卻連 Java 最基本的特質都不清楚。

一般來說,資訊系畢業的學生,對於資訊的新事物學習的速度,會比其他科系來得快,就是因為四年的教育為他們奠定了學習新事物的基礎,這也是資訊系課程的價值所在。

除非你受過的基礎訓練夠紮實,否則在學習或使用 Java 的過程中,你一定會需要參考到這些資訊系學科的知識。我建議各位可以在閒暇之餘,把資訊系課本的書拿來讀一讀。這是治本之道,絕非立竿見影的特效藥,必須要有耐心。

學習 Java 語言

學習 Java 語言很簡單,畢竟 Java 語言也只包含五十多個關鍵字(keyword)與幾十個算符(operator),再加上 Java 語法(syntax)也很簡單,所以一般人可以很快就學會 Java 語言。危險的是,很多人認為已經完全掌控 Java 語言,但其實對於內部的運作機制仍不能掌握,這些盲點有時候會讓你無法完全掌控 Java 語言。克服這些盲點的方式是看「The Java Language Specification, 2nd Ed.」(沒有中文版)來徹底弄懂 Java 程式語言,並看「Inside the Java Virtual Machine, 2nd Ed.」(有中文版,但翻譯得@#%$)來徹底掌握 Java 虛擬機器的運作方式。

學習物件導向的思維

學會了語言,並不代表就可以設計出好的物件導向系統架構。想要成為物件導向的專家,往往需要:

* 多看相關的書,特別是 Design Pattern 和 Refactoring 的書。
* 多觀摩別人的程式(例如 Java API 的 design 與 implementation)
* 多寫程式

學習 API

學會 Java 語言之後,還需要學會一些 API 才能寫出有用的程式。Java 的 API 非常多,必須規劃好一個學習路徑,才不會在浩瀚的 API 大海中迷失。必備的 API 包括了:IO、New IO、Collection Framework、Network、RMI、JAXP... 等。至於其他的 API,就看你的需求而定,大致上分成:

* GUI 類:JavaBean -> Swing -> JavaHelp -> Java2D -> Image IO -> JAI -> Java 3D ...
* Enterprise 類:JDBC -> JDO -> Servlet -> JSP -> EJB -> JMS -> JTA/JTS...
* J2ME 類(這一類不是我的專長,無法提供學習順序建議)

學習開發工具的用法

只用 JDK,是很難寫出大型程式的,所以通常程式員會使用 JBuilder/VisualAge/ VisualCafe 等工具,這些軟體賣這麼貴,一定有它的價值,值得花一些時間好好學習這些開發工具的使用方式,你將會發現開發工具所提供的許多功能,可以讓你在開發過程中生產力大增。

內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|