<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    工作小驛

    Ninja!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks
    每個(gè)人的學(xué)習(xí)方法是不同的,一個(gè)人的方法不見得適合另一個(gè)人,我只能是談自己的學(xué)習(xí)方法。因?yàn)槲覍W(xué)習(xí)Java是完全自學(xué)的,從來沒有問過別人,所以學(xué)習(xí)的過程基本上完全是自己摸索出來的。我也不知道這種方法是否是比較好的方法,只能給大家提供一點(diǎn)參考了。

    學(xué)習(xí)Java的第一步是安裝好JDK,寫一個(gè)Hello JWorld其實(shí)JDK的學(xué)習(xí)沒有那么簡單,關(guān)于JDK有兩個(gè)問題是很容易一直困擾Java程序員的地方:一個(gè)是CLASSPATH的問題,其實(shí)從原理上來說,是要搞清楚JREClassLoader是如何加載Class的;另一個(gè)問題是packageimport問題,如何來尋找類的路徑問題。把這兩個(gè)問題摸索清楚了,就掃除了學(xué)習(xí)Java和使用JDK的最大障礙。推薦看一下王森的《Java深度歷險(xiǎn)》,對這兩個(gè)問題進(jìn)行了深入的探討。

    第二步是學(xué)習(xí)Java的語法。Java的語法是類C++的,基本上主流的編程語言不是類C,就是類C++的,沒有什么新東西,所以語法的學(xué)習(xí),大概就是半天的時(shí)間足夠了。唯一需要注意的是有幾個(gè)不容易搞清楚的關(guān)鍵字的用法,publicprotectedprivatestatic,什么時(shí)候用,為什么要用,怎么用,這可能需要有人來指點(diǎn)一下,我當(dāng)初是完全自己琢磨出來的,花了很久的時(shí)間。不過后來我看到《Thinking in Java》這本書上面是講了這些概念的。

    第三步是學(xué)習(xí)Java的面向?qū)ο蟮木幊陶Z言的特性的地方。比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機(jī)制。對于一個(gè)沒有面向?qū)ο笳Z言背景的人來說,我覺得這個(gè)過程需要花很長很長時(shí)間,因?yàn)閷W(xué)習(xí)Java之前沒有C++的經(jīng)驗(yàn),只有C的經(jīng)驗(yàn),我是大概花了一個(gè)月左右吧,才徹底把這些概念都搞清楚,把書上面的例子反復(fù)的揣摩,修改,嘗試,把那幾章內(nèi)容反復(fù)的看過來,看過去,看了不下5遍,才徹底領(lǐng)悟了。不過我想如果有C++經(jīng)驗(yàn)的話,應(yīng)該一兩天時(shí)間足夠了。那么在這個(gè)過程中,可以多看看《Thinking in Java》這本書,對面向?qū)ο蟮闹v解非常透徹。可惜的是我學(xué)習(xí)的時(shí)候,并沒有看到這本書,所以自己花了大量的時(shí)間,通過自己的嘗試和揣摩來學(xué)會(huì)的。

    第四步就是開始熟悉Java的類庫。Java的基礎(chǔ)類庫其實(shí)就是JDK安裝目錄下面jre\lib\rt.jar這個(gè)包。學(xué)習(xí)基礎(chǔ)類庫就是學(xué)習(xí)rt.jar。基礎(chǔ)類庫里面的類非常非常多。據(jù)說有3000多個(gè),我沒有統(tǒng)計(jì)過。但是真正對于我們來說最核心的只有4個(gè),分別是
    java.lang.*;
    java.io.*;
    java.util.*;
    java.sql.*;

    這四個(gè)包的學(xué)習(xí),每個(gè)包的學(xué)習(xí)都可以寫成一本厚厚的教材,而O'reilly也確實(shí)是這樣做的。我覺得如果時(shí)間比較緊,是不可能通過讀四本書來學(xué)習(xí)。我覺得比較好的學(xué)習(xí)方法是這樣的:
    首先要通讀整個(gè)package的框架,了解整個(gè)packageclassinterfaceexception的構(gòu)成,最好是能夠找到介紹整個(gè)包框架的文章。這些專門介紹包的書籍的前幾章應(yīng)該就是這些總體的框架內(nèi)容介紹。

    對包整體框架的把握并不是要熟悉每個(gè)類的用法,記住它有哪些屬性,方法。想記也記不住的。而是要知道包有哪些方面的類構(gòu)成的,這些類的用途是什么,最核心的幾個(gè)類分別是完成什么功能的。我在給人培訓(xùn)的時(shí)候一般是一次課講一個(gè)包,所以不可能詳細(xì)的介紹每個(gè)類的用法,但是我反復(fù)強(qiáng)調(diào),我給你們講這些包的不是要告訴你們類的方法是怎么調(diào)用的,也不要求你們記住類的方法調(diào)用,而是要你們了解,Java給我們提供了哪些類,每個(gè)類是用在什么場合,當(dāng)我遇到問題的時(shí)候,我知道哪個(gè)類,或者哪幾個(gè)類的組合可以解決我的問題,That'all!,當(dāng)我們具體寫程序的時(shí)候,只要你知道該用哪個(gè)類來完成你的工作就足夠了。編碼的時(shí)候,具體的方法調(diào)用,是邊寫代碼,邊查Documentation,所有的東西都在Documentation里面,不要求你一定記住,實(shí)際你也記不住3000多個(gè)類的總共將近10萬個(gè)方法調(diào)用。所以對每個(gè)包的總體框架的把握就變得極為重要。

    第五步,通過上面的學(xué)習(xí),如果學(xué)的比較扎實(shí)的話,就打好了Java的基礎(chǔ)了,剩下要做的工作是掃清Documentation里面除了上面4個(gè)包之外的其他一些比較有用處的類。相信進(jìn)展到這一步,Java的自學(xué)能力已經(jīng)被培養(yǎng)出來了,可以到了直接學(xué)習(xí)Documentation的水平了。除了要做GUI編程之外,JDK里面其他會(huì)有用處的包是這些:
    java.text.*;
    java.net.*;
    javax.naming.*;
    這些包里面真正用的比較多的類其實(shí)很少,只有幾個(gè),所以不需要花很多時(shí)間。

    第六步,Java Web 編程
    Web
    編程的核心是HTTP協(xié)議,HTTP協(xié)議和Java無關(guān),如果不熟悉HTTP協(xié)議的話,雖然也可以學(xué)好Servlet/JSP編程,但是達(dá)不到舉一反三,一通百通的境界。所以HTTP協(xié)議的學(xué)習(xí)是必備的。如果熟悉了HTTP協(xié)議的話,又有了Java編程的良好的基礎(chǔ),學(xué)習(xí)Servlet/JSP簡直易如反掌,我學(xué)習(xí)Servlet/JSP就用了不到一周的時(shí)間,然后就開始用JSP來做項(xiàng)目了。

    Servlet/JSP的學(xué)習(xí)中,重頭仍然是Servlet DocumentationServlet API最常用的類很少,花比較少的時(shí)間就可以掌握了。把這些類都看一遍,多寫幾個(gè)例子試試。Servlet/JSP編程本質(zhì)就是在反復(fù)調(diào)用這些類來通過HTTP協(xié)議在Web ServerBrower之間交談。另外對JSP,還需要熟悉幾個(gè)常用JSP的標(biāo)記,具體的寫法記不住的話,臨時(shí)查就是了。

    此外Java Web編程學(xué)習(xí)的重點(diǎn)要放在Web Application的設(shè)計(jì)模式上,如何進(jìn)行業(yè)務(wù)邏輯的分析,并且進(jìn)行合理的設(shè)計(jì),按照MVC設(shè)計(jì)模式的要求,運(yùn)用ServletJSP分別完成不同的邏輯層,掌握如何在ServletJSP之間進(jìn)行流程的控制和數(shù)據(jù)的共享,以及Web Application應(yīng)該如何配置和部署。

    第七步,J2EE編程
    以上的學(xué)習(xí)過程如果是比較順利的話,進(jìn)行到這一步,難度又陡然提高。因?yàn)樯厦娴闹R(shí)內(nèi)容都是只涉及一個(gè)方面,而像EJBJMSJTA等核心的J2EE規(guī)范往往是幾種Java技術(shù)的綜合運(yùn)用的結(jié)晶,所以掌握起來難度比較大。

    首先一定要學(xué)習(xí)好JNDIJNDIApp Server定位服務(wù)器資源(EJB組件,DatasouceJMS)查找方法,如果對JNDI不熟悉的話,EJBJMS這些東西幾乎學(xué)不下去。JNDI其實(shí)就是javax.naming.*這個(gè)包,運(yùn)用起來很簡單。難點(diǎn)在于服務(wù)器資源文件的配置。對于服務(wù)器資源文件的配置,就需要看看專門的文檔規(guī)范了,比如web.xml的寫法,ejb-jar.xml的寫法等等。針對每種不同的App Server,還有自己的服務(wù)資源配置文件,也是需要熟悉的。

    然后可以學(xué)習(xí)JTA,主要是要理解JTA對于事務(wù)的控制的方法,以及該在什么場合使用JTA。這里可以簡單的舉個(gè)例子,我們知道一般情況可以對于一個(gè)數(shù)據(jù)庫連接進(jìn)行事務(wù)控制(conn.setAutoCommit(false),....,conn.commit()),做為一個(gè)原子操作,但是假設(shè)我的業(yè)務(wù)需求是要把對兩個(gè)不同數(shù)據(jù)庫的操作做為一個(gè)原子操作,你能做的到嗎?這時(shí)候只能用JTA了。假設(shè)操作過程是先往A數(shù)據(jù)庫插一條記錄,然后刪除B數(shù)據(jù)庫另一個(gè)記錄,我們自己寫代碼是控制不了把整個(gè)操作做為一個(gè)原子操作的。用JTA的話,由App Server來完成控制。

    在學(xué)習(xí)EJB之前要學(xué)習(xí)對象序列化和RMIRMIEJB的基礎(chǔ)。接著學(xué)習(xí)JMSEJB,對于EJB來說,最關(guān)鍵是要理解EJB是如何通過RMI來實(shí)現(xiàn)對遠(yuǎn)端對象的調(diào)用的,以及在什么情況下要用到EJB

    在學(xué)習(xí)完EJBJMS這些東西之后,你可能會(huì)意識(shí)到要急不可待學(xué)習(xí)兩個(gè)領(lǐng)域的知識(shí),一個(gè)是UML,另一個(gè)是Design PatternJava企業(yè)軟件的設(shè)計(jì)非常重視框架(Framework)的設(shè)計(jì),一個(gè)好的軟件框架是軟件開發(fā)成功的必要條件。在這個(gè)時(shí)候,應(yīng)該開始把學(xué)習(xí)的重點(diǎn)放在設(shè)計(jì)模式和框架的學(xué)習(xí)上,通過學(xué)習(xí)和實(shí)際的編程經(jīng)驗(yàn)來掌握EJB的設(shè)計(jì)模式和J2EE的核心模式。

    J2EE
    規(guī)范里面,除了EJBJMSJTAServlet/JSPJDBC之外還有很多很多的企業(yè)技術(shù),這里不一一進(jìn)行介紹了。

    另外還有一個(gè)最新領(lǐng)域Web ServicesWeb Services也完全沒有任何新東西,它像是一種黏合劑,可以把不同的服務(wù)統(tǒng)一起來提供一個(gè)統(tǒng)一的調(diào)用接口,作為使用者來說,我只要獲得服務(wù)提供者給我的WSDL(對服務(wù)的描述),就夠了,我完全不知道服務(wù)器提供者提供的服務(wù)究竟是EJB組件,還是.Net組件,還是什么CORBA組件,還是其他的什么實(shí)現(xiàn),我也不需要知道。Web Services最偉大的地方就在于通過統(tǒng)一的服務(wù)提供方式和調(diào)用方式,實(shí)現(xiàn)了整個(gè)Internet服務(wù)的共享,是一個(gè)非常令人激動(dòng)的技術(shù)領(lǐng)域。Web Services好像目前還沒有什么很好的書籍,但是可以通過在網(wǎng)絡(luò)上面查資料的方式來學(xué)習(xí)。
    posted on 2007-08-22 00:12 王君 閱讀(165) 評論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 亚洲AV无码成人专区| 无码一区二区三区免费| 伊人久久综在合线亚洲91| 暖暖日本免费中文字幕| 色偷偷亚洲女人天堂观看欧| 亚洲成人一区二区| 曰批视频免费40分钟试看天天| 亚洲另类自拍丝袜第五页| 亚洲精品午夜无码电影网| 精品久久久久成人码免费动漫 | AV在线播放日韩亚洲欧| 久久ww精品w免费人成| 精品一区二区三区无码免费直播| 在线观看日本免费a∨视频| 老司机午夜在线视频免费观 | 视频免费1区二区三区| 国产精品黄页在线播放免费| 亚洲成年人电影网站| xxxxx免费视频| 亚洲色图激情文学| 久久精品九九亚洲精品天堂| 啦啦啦手机完整免费高清观看| a毛片免费在线观看| 苍井空亚洲精品AA片在线播放| 亚洲国产午夜中文字幕精品黄网站| 一级毛片免费播放| 丰满妇女做a级毛片免费观看 | 2020国产精品亚洲综合网| 亚洲伊人色欲综合网| 黄网站免费在线观看| 亚洲AV日韩AV一区二区三曲| 亚洲精品中文字幕无码AV| 丝袜熟女国偷自产中文字幕亚洲| 特级淫片国产免费高清视频| 67pao强力打造国产免费| 两个人的视频www免费| 黄色免费网站在线看| 亚洲精品自偷自拍无码| 亚洲六月丁香六月婷婷蜜芽| 伊人久久综在合线亚洲2019| 亚洲精品tv久久久久久久久|