欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java學習之路_篇超好的文章第2/3頁

 更新時間:2008年10月01日 00:15:08   投稿:mdxy-dxy  
一篇超好的文章!就看你有沒耐心看!java學習之路!

  1.7 萬不得已才請教別人
  筆者在ChinaITLab網(wǎng)校的在線輔導系統(tǒng)中解決學生問題時發(fā)現(xiàn),大部分的問題學生稍做思考就可以解決。請教別人之前,你應(yīng)該先回答如下幾個問題。
  你是否在google中搜索了問題的解決辦法?
  你是否查看了JAVA API文檔?
  你是否查找過相關(guān)書籍?
  你是否寫代碼測試過?
  如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
  1.8 多讀好書
  書中自有顏如玉。比爾?蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾?蓋茨就已經(jīng)讀完了所有的百科全書,所以他精通天文、歷史、地理等等各類學科,可以說比爾?蓋茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。
  筆者在給學生上課的時候經(jīng)常會給他們推薦書籍,到后來學生實在忍無可忍開始抱怨,"天吶,這么多書到什么時候才能看完了","學軟件開發(fā),感覺上了賊船"。這時候,我的回答一般是,"別著急,什么時候帶你們?nèi)タ纯次业臅浚浆F(xiàn)在每月花在技術(shù)書籍上的錢400元,這在軟件開發(fā)人員之中還只能夠算是中等的",學生當場暈倒。(注:這一部分學生是剛學軟件開發(fā)的)
  對于在JAVA開發(fā)領(lǐng)域的好書在筆者另外一篇文章中會專門點評。該文章可作為本文的姊妹篇。
  1.9 使用合適的工具
  工欲善其事必先利其器。軟件開發(fā)包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設(shè)計模型、編程實現(xiàn)、調(diào)試程序、自動化測試、持續(xù)集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發(fā)效率,使軟件的質(zhì)量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。在筆者另外一篇文章中會專門闡述如何選擇合適的工具(該文章也可作為本文的姊妹篇)。
  2.軟件開發(fā)學習路線
  兩千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒進也不保守并非中庸之道,而是找尋學習軟件開發(fā)的正確路線與規(guī)律。
  從軟件開發(fā)人員的生涯規(guī)劃來講,我們可以大致分為三個階段,軟件工程師→軟件設(shè)計師→架構(gòu)設(shè)計師或項目管理師。不想當元帥的士兵不是好士兵,不想當架構(gòu)設(shè)計師或項目管理師的程序員也不是好的程序員。我們應(yīng)該努力往上走。讓我們先整理一下開發(fā)應(yīng)用軟件需要學習的主要技術(shù)。
  A.基礎(chǔ)理論知識,如操作系統(tǒng)、編譯原理、數(shù)據(jù)結(jié)構(gòu)與算法、計算機原理等,它們并非不重要。如不想成為計算機科學家的話,可以采取"用到的時候再來學"的原則。
  B.一門編程語言,現(xiàn)在基本上都是面向?qū)ο蟮恼Z言,JAVA/C++/C#等等。如果做WEB開發(fā)的話還要學習HTML/JavaScript等等。
  C.一種方法學或者說思想,現(xiàn)在基本都是面向?qū)ο笏枷耄∣OA/OOD/設(shè)計模式)。由此而衍生的基于組件開發(fā)CBD/面向方面編程AOP等等。
  D.一種關(guān)系型數(shù)據(jù)庫,ORACLE/SqlServer/DB2/MySQL等等
  E.一種提高生產(chǎn)率的IDE集成開發(fā)環(huán)境JBuilder/Eclipse/VS.NET等。
  F.一種UML建模工具,用ROSE/VISIO/鋼筆進行建模。
  G.一種軟件過程,RUP/XP/CMM等等,通過軟件過程來組織軟件開發(fā)的眾多活動,使開發(fā)流程專業(yè)化規(guī)范化。當然還有其他的一些軟件工程知識。
  H.項目管理、體系結(jié)構(gòu)、框架知識。
  正確的路線應(yīng)該是:B→C→E→F→G→H。
  還需要補充幾點:
  1).對于A與C要補充的是,我們應(yīng)該在實踐中逐步領(lǐng)悟編程理論與編程思想。新技術(shù)雖然不斷涌現(xiàn),更新速度令人眼花燎亂霧里看花;但萬變不離其宗,編程理論與編程思想的變化卻很慢。掌握了編程理論與編程思想你就會有撥云見日之感。面向?qū)ο蟮乃枷朐谀壳皝碇v是相當關(guān)鍵的,是強勢技術(shù)之一,在上面需要多投入時間,給你的回報也會讓你驚喜。
  2).對于數(shù)據(jù)庫來說是獨立學習的,這個時機就由你來決定吧。
  3).編程語言作為學習軟件開發(fā)的主線,而其余的作為輔線。
  4).軟件工程師著重于B、C、E、 D;軟件設(shè)計師著重于B、C、E、 D、F;架構(gòu)設(shè)計師著重于C、F、H。
  3.如何學習JAVA?
  3.1 JAVA學習路線
  3.1.1 基礎(chǔ)語法及JAVA原理
  基礎(chǔ)語法和JAVA原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習JAVA也是如此,必須要有扎實的基礎(chǔ),你才能在J2EE、J2ME領(lǐng)域游刃有余。參加SCJP(SUN公司認證的JAVA程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎(chǔ)打得很牢靠,它要求你跟JDK一樣熟悉JAVA基礎(chǔ)知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟件公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得"真正"的SCJP只能證明你的基礎(chǔ)還過得去,但離實際開發(fā)還有很長的一段路要走。
  3.1.2 OO思想的領(lǐng)悟
  掌握了基礎(chǔ)語法和JAVA程序運行原理后,我們就可以用JAVA語言實現(xiàn)面向?qū)ο蟮乃枷肓?。面向?qū)ο?,是一種方法學;是獨立于語言之外的編程思想;是CBD基于組件開發(fā)的基礎(chǔ);屬于強勢技術(shù)之一。當以后因工作需要轉(zhuǎn)到別的面向?qū)ο笳Z言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
  使用面向?qū)ο蟮乃枷脒M行開發(fā)的基本過程是:
  ●調(diào)查收集需求。
  ●建立用例模型。
  ●從用例模型中識別分析類及類與類之間的靜態(tài)動態(tài)關(guān)系,從而建立分析模型。
  ●細化分析模型到設(shè)計模型。
  ●用具體的技術(shù)去實現(xiàn)。
  ●測試、部署、總結(jié)。

  3.1.3 基本API的學習
  進行軟件開發(fā)的時候,并不是什么功能都需要我們?nèi)崿F(xiàn),也就是經(jīng)典名言所說的"不需要重新發(fā)明輪子"。我們可以利用現(xiàn)成的類、組件、框架來搭建我們的應(yīng)用,如SUN公司編寫好了眾多類實現(xiàn)一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調(diào)用類中的方法來完成某些功能或繼承它。那么這些類中究竟提供了哪些方法給我們使用?方法的參數(shù)個數(shù)及類型是?類的構(gòu)造器需不需要參數(shù)?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,JAVA DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。
  基本API指的是實現(xiàn)了一些底層功能的類,通用性較強的API,如字符串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查JAVA DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
  3.1.4 特定API的學習
  JAVA介入的領(lǐng)域很廣泛,不同的領(lǐng)域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發(fā),那么你需要學習Swing/AWT/SWT等API;如果你進行網(wǎng)絡(luò)游戲開發(fā),你需要深入了解網(wǎng)絡(luò)API/多媒體API/2D3D等;如果你做WEB開發(fā),就需要熟悉Servlet等API啦??傊枰鶕?jù)工作的需要或你的興趣發(fā)展方向去選擇學習特定的API。
  3.1.5 開發(fā)工具的用法
  在學習基礎(chǔ)語法與基本的面向?qū)ο蟾拍顣r,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急于上手JBuilder/Eclipse等集成開發(fā)環(huán)境,以免過于關(guān)注IDE的強大功能而分散對JAVA技術(shù)本身的注意力。過了這一階段你就可以開始熟悉IDE了。
  程序員日常工作包括很多活動,編輯、編譯及構(gòu)建、調(diào)試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務(wù)欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經(jīng)自動集成編輯器、編譯器、調(diào)試器、單元測試工具JUnit、自動構(gòu)建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向?qū)椭煽蚣艽a,讓我們的開發(fā)變得更輕松。應(yīng)該說IDE發(fā)展的趨勢就是集成軟件開發(fā)中要用到的幾乎所有工具。
  從開發(fā)效率的角度考慮,使用IDE是必經(jīng)之路,也是從一個學生到一個職業(yè)程序員轉(zhuǎn)變的里程碑。

相關(guān)文章

  • Flink部署集群整體架構(gòu)源碼分析

    Flink部署集群整體架構(gòu)源碼分析

    這篇文章主要為大家介紹了Flink部署集群及整體架構(gòu)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • eclipse導入工程報錯問題項目或者文件有紅叉的解決方案

    eclipse導入工程報錯問題項目或者文件有紅叉的解決方案

    這篇文章主要介紹了eclipse導入工程報錯問題項目或者文件有紅叉的解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Java Thread之Sleep()使用方法及總結(jié)

    Java Thread之Sleep()使用方法及總結(jié)

    這篇文章主要介紹了Java Thread之Sleep()使用方法及總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • maven導入本地倉庫jar包,報:Could?not?find?artifact的解決

    maven導入本地倉庫jar包,報:Could?not?find?artifact的解決

    這篇文章主要介紹了maven導入本地倉庫jar包,報:Could?not?find?artifact的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java中transient關(guān)鍵字的詳細總結(jié)

    Java中transient關(guān)鍵字的詳細總結(jié)

    本文要介紹的是Java中的transient關(guān)鍵字,transient是短暫的意思。對于transient 修飾的成員變量,在類的實例對象的序列化處理過程中會被忽略,感興趣的朋友可以參考閱讀
    2023-04-04
  • java可變參數(shù)使用示例

    java可變參數(shù)使用示例

    這篇文章主要介紹了java可變參數(shù)使用示例,需要的朋友可以參考下
    2014-04-04
  • Integer IntegerCache源碼閱讀

    Integer IntegerCache源碼閱讀

    這篇文章主要介紹了Integer IntegerCache源碼閱讀,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Spring Boot 中的 @PutMapping 注解原理及使用小結(jié)

    Spring Boot 中的 @PutMapping 注解原理及使用小結(jié)

    在本文中,我們介紹了 Spring Boot 中的 @PutMapping 注解,它可以將 HTTP PUT 請求映射到指定的處理方法上,我們還介紹了 @PutMapping 注解的原理以及如何在 Spring Boot 中使用它,感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • mybatis如何使用Criteria的and和or進行聯(lián)合查詢

    mybatis如何使用Criteria的and和or進行聯(lián)合查詢

    這篇文章主要介紹了mybatis如何使用Criteria的and和or進行聯(lián)合查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java?離線中文語音文字識別功能的實現(xiàn)代碼

    Java?離線中文語音文字識別功能的實現(xiàn)代碼

    這篇文章主要介紹了Java?離線中文語音文字識別,本次使用springboot?+maven實現(xiàn),官方demo為springboot+gradle,結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論