Java學(xué)習(xí)之道
--------------------------------------------------------------------------------
發(fā)表日期:2003年11月26日 出處:CSDN.net 作者:作者:蔡學(xué)鏞 已經(jīng)有576位讀者讀過此文
目前 Java 可以說是產(chǎn)業(yè)界和學(xué)術(shù)界最熱門的語言,許多讀者都很急切想把 Java 學(xué)好。除非像電影「駭課任務(wù)」(Matrix)一樣能夠把需要的專業(yè)技巧下載到腦海(女主角只花了幾秒下載資料,就馬上具備飛行員的技巧),或是武俠小說中的運功傳送內(nèi)力的方式,否則花上一段時間苦學(xué)是免不了的?;〞r間,不打緊,就怕方法錯誤,事倍功半。我認(rèn)為,學(xué)習(xí) Java 包括了下列的范疇:
* 認(rèn)識 Java 的原理
* 學(xué)會 Java 語言
* 物件導(dǎo)向的思維
* API
* 開發(fā)工具的用法
下面分別就這幾點詳細(xì)闡述。
學(xué)習(xí) Java 的原理
瞭解 Java 的原理,才有可能真正體會 Java 的一切,學(xué)習(xí)任何事情,只要能掌握原理,就會比較順利。我發(fā)現(xiàn)許多人使用 Java 已經(jīng)逾年,卻連 Java 最基本的特質(zhì)都不清楚。
一般來說,資訊系畢業(yè)的學(xué)生,對於資訊的新事物學(xué)習(xí)的速度,會比其他科系來得快,就是因為四年的教育為他們奠定了學(xué)習(xí)新事物的基礎(chǔ),這也是資訊系課程的價值所在。
除非你受過的基礎(chǔ)訓(xùn)練夠紮實,否則在學(xué)習(xí)或使用 Java 的過程中,你一定會需要參考到這些資訊系學(xué)科的知識。我建議各位可以在閒暇之馀,把資訊系課本的書拿來讀一讀。這是治本之道,絕非立竿見影的特效藥,必須要有耐心。
學(xué)習(xí) Java 語言
學(xué)習(xí) Java 語言很簡單,畢竟 Java 語言也只包含五十多個關(guān)鍵字(keyword)與幾十個算符(operator),再加上 Java 語法(syntax)也很簡單,所以一般人可以很快就學(xué)會 Java 語言。危險的是,很多人認(rèn)為已經(jīng)完全掌控 Java 語言,但其實對於內(nèi)部的運作機(jī)制仍不能掌握,這些盲點有時候會讓你無法完全掌控 Java 語言??朔@些盲點的方式是看「The Java Language Specification, 2nd Ed.」(沒有中文版)來徹底弄懂 Java 程式語言,並看「Inside the Java Virtual Machine, 2nd Ed.」(有中文版,但翻譯得@#%$)來徹底掌握 Java 虛擬機(jī)器的運作方式。
學(xué)習(xí)物件導(dǎo)向的思維
學(xué)會了語言,並不代表就可以設(shè)計出好的物件導(dǎo)向系統(tǒng)架構(gòu)。想要成為物件導(dǎo)向的專家,往往需要:
* 多看相關(guān)的書,特別是 Design Pattern 和 Refactoring 的書。
* 多觀摩別人的程式(例如 Java API 的 design 與 implementation)
* 多寫程式
學(xué)習(xí) API
學(xué)會 Java 語言之後,還需要學(xué)會一些 API 才能寫出有用的程式。Java 的 API 非常多,必須規(guī)劃好一個學(xué)習(xí)路徑,才不會在浩瀚的 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 類(這一類不是我的專長,無法提供學(xué)習(xí)順序建議)
學(xué)習(xí)開發(fā)工具的用法
只用 JDK,是很難寫出大型程式的,所以通常程式員會使用 JBuilder/VisualAge/ VisualCafe 等工具,這些軟體賣這麼貴,一定有它的價值,值得花一些時間好好學(xué)習(xí)這些開發(fā)工具的使用方式,你將會發(fā)現(xiàn)開發(fā)工具所提供的許多功能,可以讓你在開發(fā)過程中生產(chǎn)力大增。
更多信息請訪問JAVA學(xué)習(xí)解決方案》》