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

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

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

    隨筆-11  評論-5  文章-3  trackbacks-0
    我的思路:
    1、我覺得先學學JSP,用純JSP做個日記本簡單的小系統(tǒng),純粹從語言層面上了解一些基礎知識,把tomcat玩熟了,就用記事本編就行,主要是熟悉,能夠理解jsp運行機制。然后學學java,看本基礎的書,都是那種講講語法的,變量怎么定義,流程控制語句怎么寫,怎么編寫函數(shù),怎么處理表單元素,處理字符串,連接數(shù)據(jù)庫,會一種就行。這些都是浮在語言表面,你編寫的程序還是結構化的,跟你以前用asp編的程序沒什么區(qū)別,但是這很重要。你可以直接選擇目前公司里都在使用的Eclips來開發(fā),但是你要區(qū)分IDE和Java的區(qū)別,不要被IDE邦死了。這些都熟了之后看《thinking in java》,看完之后,看core java兩卷,深入了解到java本身。看這些書的時候你可能就懵懂的進入oo世界了,估計還不太明白。可以配合一些oo的理論方面的書,oo不過就是那幾個特點,封裝分配,多態(tài)性,繼承,第一個要理解的當然是對象。看完這些后就可以學習UML建模了,主要會畫三種圖,用例圖,類圖,序列圖,三種圖就足夠了。不要期望自己一下就學會UML,就會建模,得跟java學習聯(lián)系起來,編個幾萬行代碼,慢慢就會設計對象了。然后看GOF《設計模式》,對你的面向?qū)ο笏枷胍粋€巨大的提升,這時你一定會去重讀繼承,接口,抽象類的相關的細節(jié)了,并且你會發(fā)現(xiàn)你的理解能力上了一個臺階。然后看看三層結構的知識,這時候編程考慮使用jsp+servlet+javabean,分出表示層,業(yè)務層和數(shù)據(jù)訪問層,這是基礎。
    2、 以上都是J2SE,然后看thinking in enterprise java,學習j2ee基礎知識,你慢慢就會明白持久層的一些機制了,后面的什么各種新鮮的東西,CMP的東西本質(zhì)是什么,你都很好理解了。當然你要不斷編碼,把書里的概念都變成實踐,只有自己動手做,才能理解,看會不等于學會,學會不等于學精,學好技術不等于會設計,層次會越來越高。實踐是認識的唯一來源!!!一定要實踐。

    3、編碼時你可以考慮看看《重構》這本書,覺得很好,同時還可以看看Thinking in Design Pattern with java,會使你的代碼越來越漂亮。

    4、 現(xiàn)在你的代碼已經(jīng)很專業(yè)了,而且可以分出不同的層次,因為你知道了最基本的原則,那就是要高內(nèi)聚,低耦合,要不斷地解耦,但是怎么更好的解耦,什么是最佳實踐,你可能并不知道,雖然你看了下面這本書,你會發(fā)現(xiàn)你有些做法已經(jīng)是最佳實踐了,但是依然會存在這種情況,有些你并不確定,那就看看core java pattern吧,都是14年以上開發(fā)經(jīng)驗的架構師和眾多java大師的經(jīng)驗總結,書中序言所寫,看完這本書,你將成為Java架構師。

    5、這些知道之后,你已經(jīng)對分層的本質(zhì)很理解了,你可以知道Struts不過是框架而已,只是運用了頁面助手,前端控制器,應用控制器等這些表示層或者表示層和業(yè)務層(Tier)中間連接層(Layer)的模式,對于標簽的理解你也是深刻的。而到集成層,采取不同的策略和模式,數(shù)據(jù)持久化的理論和經(jīng)驗,框架不過是把大家都用得著的東西做好了給你用,沒有框架的話很多事需要你自己做,僅此而已,跟那些偉大的思想相比,它們太簡單了。至于到具體的容器,DAO策略還是CMP,BMP,在具體使用怎樣的ORM工具,都是更簡單的事情了。但是看spring,struts這些框架時你會重新閱讀前面的java教程的,因為spring用到了java的反射機制等。

    6、到此為止,你會發(fā)現(xiàn)你OOP時,想到的就會是性能,到底用數(shù)組還是ArryList,還是用HashMap,OOD時,你會考慮并發(fā)性,擴展性,復用性,現(xiàn)有框架,池,事務等方面,你會發(fā)現(xiàn)每一個問題,你都有好幾種選擇方案,你會不斷重構你的代碼,改良你的設計。

    7、下一步是OOA,那就看一本《分析模式》吧,會教你很多分析的現(xiàn)成方法。

    此時,你已經(jīng)是OO方面的專家了,構架一個大型系統(tǒng)應該沒有問題了,而且你的能力可以很輕易的學會Web Service,AJAX等這些時髦的東西,你編程的時候可能最常翻的書是JDK API,但是你會遇到新的問題,就是讓你設計一套股票系統(tǒng),可是你對股票一無所知,現(xiàn)學,這是必須的,但是這時你會發(fā)現(xiàn)你基礎好差,所以在學技術的同時,多看看各個領域的書吧,其實都是有模式的,比如ERP選型,CRM的幾種樣子,電子商務的幾種模式,看多了你也就會了,所以要學會域建模,因為你是要為商務,政務服務的,是為人服務的。

    我覺得這在技術方面就算到頭了,如果你想學管理,當然前提是技術,要不你不知道完成一個項目到底要多久花多少錢。你必須了解開發(fā)方法,迭代開發(fā),XP等,當你有了技術,再看這些很容易,因為你會明白為什么要測試先行,在技術上怎么實現(xiàn)技術先行;你也會知道結對編碼的意義。學習了這些你會是項目經(jīng)理。

    但是你可能還需要多看看經(jīng)濟領域的書和法律書,還包括中國政府的報告等等,要政治敏感,這樣你才能成為比爾蓋茨。這離主題有點遠了。

    總的原則是:
    1、先從語言層面掌握Java(很多說Java容易的人都是只掌握了語言層面的人,當你面對如何解耦,怎樣利用線程,如何更好復用,面向?qū)ο髸r,你就會覺得它好復雜好難)然后再到深入理解Java,先學J2SE再學J2EE。

    2、理論和實踐相結合,先看操作,理解本質(zhì)和原理,然后做,然后翻過來看理論,你會覺得這件事做起來就是順理成章的了,因為當初理論就是這么被推出來的。

    3、高處著眼,有了基礎后,你可以從本質(zhì)上去跟上時髦的東西,比如ORM,更細點說就是Hibernate等,比如各層框架,Spring,Struts等,都很簡單。

    4、學好理論,你用到多線程時可能會覺得自己對于線程機制不慎了解,對對象在內(nèi)存中的生命周期不清楚,對于JUnit斷言的不理解,對調(diào)試程序的原理不明白,去看計算機組成原理吧;可能搞不清楚數(shù)組的本質(zhì),去看數(shù)據(jù)結構,這時你會發(fā)現(xiàn)自己線性代數(shù)太差;去討論Java自帶的排序算法和你自己編寫的算法,可能覺得自己對一個簡單的函數(shù)都看不懂,設計復雜的函數(shù)就更不會了,去看計算方法吧,這時你可能會感到你的高等數(shù)學太差了;不理解HTTP的接收應答機制,不知道AJAX原理,那么多語言都有request,response,到底原理是什么,XML的作用是什么,SOAP協(xié)議,怎么在網(wǎng)絡上傳輸這些數(shù)據(jù),看看基礎知識,這些都很簡單。掌握基礎,只有到這時你才會覺得它重要,那就等你知道了再去看吧,也不會太晚,而且你會學的更好。不要羨慕那些碩士博士,他們沒編過程序,照樣不如你,有些都是真的是你不做就永遠不理解,不做底層,理解不了上層。

    5、學好外語,因為你會發(fā)現(xiàn)很多資料很多問題的答案很多調(diào)試錯誤的解釋都是外文的,這時google是最好的工具,但是你的英文要起碼可以讀懂人家說什么;還有研究Web service,SOA之類的東西,往往都是英文的。

    學好我說的這些,大約需要3年,但是學好JAVA,達到語言層面,只需要1周,達到內(nèi)部,需要半年,達到會設計,需要做3個以前項目,達到架構師,估計得2到3年,同時那些基礎中的基礎,你更需要好好學,那些是最慢的。

    學到語言層面只需要兩樣東西:玩會IDE+拿一本包含我所說的那些基本語法的書。玩會IDE你要做到會簡單配置,能運行出東西,會調(diào)試(不會調(diào)試就沒法編程),然后拿本JDK API,打開google和百度,有了錯誤就去搜索,這樣學習Java真的很簡單。

    Linux也是要先會玩,要能上網(wǎng),會下載東西,安裝軟件,寫文檔,然后就是能聽歌看電影,就夠了。接下來在編程,關鍵要會shell那些命令。看看多用戶操作系統(tǒng)的書,建立一個理論高度,就OK了

    最后說一句,中國大多數(shù)程序都停留在語言層面,很多人都是在懵懂中編程,可能調(diào)不通程序,突然改了個東西就通了,但是深層原因并不知道,很多都是東試西試試驗出來的,都是黑箱編程,總感覺隔著霧看程序,我身邊很多人寫了一萬行代碼,還不理解equals和==的區(qū)別呢,還不知道Class object=new Class()等號左右兩邊各代表什么呢。但是他們一樣能編程,一樣能開發(fā)出系統(tǒng),很多人都以為這樣就算Java高手了,什么都能編并不等于編的好,當然什么都能編是個前提。所以要學,就學深入,起碼一種語言要學深,在web開發(fā)方面,我推薦java學深,或者說沿著java路學深,這樣去研究C#,.Net平臺就很容易,再看ASP和PHP就覺得大家都一樣了,上升到高度不過也就是設計模式的問題了,殊途同歸。
    posted on 2007-08-07 10:08 天然 閱讀(279) 評論(2)  編輯  收藏 所屬分類: 實習ing

    評論:
    # re: java愛好者安排 2007-08-07 14:12 | veisin
    <<重構>>那本書不怎么樣?  回復  更多評論
      
    # re: java愛好者安排 2007-08-07 14:47 | 天然
    感謝你的回復,如果果可以請推薦下你學習JAVA的好書!  回復  更多評論
      
    主站蜘蛛池模板: 青草草色A免费观看在线| 中文字幕成人免费高清在线视频 | 亚洲伊人久久综合影院| 色偷偷尼玛图亚洲综合| 国产色爽免费视频| 国产精品亚洲专区无码WEB| 国产大片线上免费看| 四虎精品免费永久免费视频| 亚洲AV中文无码乱人伦| caoporn成人免费公开| 亚洲色无码一区二区三区| a级毛片免费高清毛片视频| 亚洲欧洲在线观看| 国产免费女女脚奴视频网| 亚洲中文字幕无码亚洲成A人片| 在线观看免费a∨网站| 免费大片av手机看片| 亚洲真人无码永久在线| 久久久99精品免费观看| 亚洲美女视频免费| 人妻视频一区二区三区免费| 亚洲成在人线在线播放无码| 亚洲欧洲日产国码高潮αv| 久久精品免费电影| 97se亚洲国产综合自在线| 国产麻豆免费观看91| AAA日本高清在线播放免费观看| 亚洲成a人片在线观看播放| 日韩高清在线免费看| 国产成人无码免费看片软件| 亚洲视频在线视频| 女人被男人桶得好爽免费视频 | 亚洲AV无码久久精品色欲| 波多野结衣免费在线| 青娱乐在线视频免费观看| 亚洲精品乱码久久久久久久久久久久| 无码精品国产一区二区三区免费| 亚洲 暴爽 AV人人爽日日碰| 不卡一卡二卡三亚洲| 性xxxxx免费视频播放| 好湿好大好紧好爽免费视频|