欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      java學習的路線

      時間:2019-05-15 07:57:50下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《java學習的路線》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java學習的路線》。

      第一篇:java學習的路線

      1、要學java,肯定首先得把Java語言本身給掌握了,萬事開頭難,學java最難的也是java的入門,學習順序是先掌握java的語法(多練就行),再掌握java面向對象的思想(封裝、繼承、多態(tài)、接口這些東西是重點,要多理解),接下來就是熟悉java常用的API(集合、IO等,主要是跟著書多寫多練),這些東西掌握后,Java語言就算入門了。入門java推薦大家下載張孝祥的《java就業(yè)培訓教程》視頻教程,學java的沒有不知道這套視頻的,我們宿舍當時都是學這套視頻入門的。這套視頻最大的好處簡單易懂,并引用了很多實用案例,并且還有配套書(書名好像也是java就業(yè)培訓教程,新華書店有),省得忘了的地方,動不動對著電腦翻視頻了。還有一些視頻也比較好,例如孫鑫的java視頻,馬士兵的java視頻等。不過對初學者而言,選中一套視頻了就跟著好好學,不要下很多視頻,東抓一把、西抓一把,最后啥也沒學到。

      2、有java基礎了想馬上從事實際開發(fā)還是不夠的,接下來就需要掌握1-2門數(shù)據(jù)庫技術了,對java來說數(shù)據(jù)庫當然是oracle和mysql。oracle數(shù)據(jù)庫現(xiàn)在還沒發(fā)現(xiàn)好的視頻,不過現(xiàn)在大學都學了數(shù)據(jù)庫,有了數(shù)據(jù)庫基礎后,找本好書學oracle也就不難了。這里推薦何明的《從實踐中學習Oracle/SQL》,作者來頭很大,有非常深的oracle功底,書寫得由淺入深,相當不錯。對程序員來講,學數(shù)據(jù)庫關鍵是把增刪改查的sql語句學好了就OK了,不要去摳什么數(shù)據(jù)庫管理方面的東西。學了oracle后,要把數(shù)據(jù)庫和java程序聯(lián)系起來,這時候就要學jdbc了,jdbc不難,網(wǎng)上很多資料,大概一周時間就可以掌握了。

      3、有了上面的基礎后,恭喜你已經(jīng)具備用java開發(fā)企業(yè)級應用的基礎了。這時候你可以學習javaweb試著做點小項目玩了。不過學javaweb需要很多雜七雜八的知識點,比如xml、html、javascript、tomcat服務器等,學了這些后,大家才可以學servlet、jsp。學javaweb推薦大家買《深入體驗Javaweb開發(fā)內幕-核心基礎》這本書,還是張孝祥寫的,這本書寫的書很有特點,很細很深入,書上還帶大量的實驗案例,一步步講得非常清晰,非常適合初學者。學javaweb這本書絕對是首選,并且這本書也有配套視頻,在網(wǎng)上有下,不過視頻只有前4章,比較可惜,希望張孝祥老師能早日錄制全套視頻。還有些視頻和書也不錯,比如李興華的JSP視頻教程、孫鑫的JAVA WEB 開發(fā)詳解等,這些也不錯,在網(wǎng)上都有免費下的。

      4、接下來為找工作就要學strutshibernatespringajax這些流行技術了。這些技術我學習的時候沒有視頻,買的孫衛(wèi)琴的書學,花了我大半年時間才學明白。現(xiàn)在幸福多了,網(wǎng)上有很多視頻,個人推薦大家下傳智播客的視頻看。這個機構的老師很牛課程很有深度,真正能學到技術,不會誤了大家。不過他們的視頻里老打廣告,很煩。書籍推薦struts看孫衛(wèi)琴的,hibernate看夏昕的,spring看林信良的,具體書名叫什么忘了,大家google一下就清楚了。

      學完上面這些就可以試著找工作了,我找了40天找著了。順便再說一句,自學不可能不碰到問題,CSDN的論壇很不錯,有問題上去問,一般都會有人回答你。要找培訓班的話北京的傳智播客還不錯,我宿舍的2個就在那里,教學質量高,學完后很輕松都上班了,這家機構就是在外地沒有分部,想培訓要去北京,生活費用高,花費大。北京還有一些培訓也不錯,達內什么的,可以看看。

      第二篇:JAVA學習路線

      1.JAVA學習路線

      1.1 基礎語法及JAVA原理

      基礎語法和JAVA原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習JAVA也是如此,必須要有扎實的基礎,你才能在J2EE、J2ME領域游刃有余。參加SCJP(SUN公司認證的JAVA程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉JAVA基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟件公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得“真正”的SCJP只能證明你的基礎還過得去,但離實際開發(fā)還有很長的一段路要走。

      1.2 OO思想的領悟

      掌握了基礎語法和JAVA程序運行原理后,我們就可以用JAVA語言實現(xiàn)面向對象的思想了。面向對象,是一種方法學;是獨立于語言之外的編程思想;是CBD基于組件開發(fā)的基礎;屬于強勢技術之一。當以后因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。

      使用面向對象的思想進行開發(fā)的基本過程是:

      ●調查收集需求。

      ●建立用例模型。

      ●從用例模型中識別分析類及類與類之間的靜態(tài)動態(tài)關系,從而建立分析模型。

      ●細化分析模型到設計模型。

      ●用具體的技術去實現(xiàn)。

      ●測試、部署、總結。

      1.3 基本API的學習

      進行軟件開發(fā)的時候,并不是什么功能都需要我們去實現(xiàn),也就是經(jīng)典名言所說的“不需要重新發(fā)明輪子”。我們可以利用現(xiàn)成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現(xiàn)一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那么這些類中究竟提供了哪些方法給我們使用?方法的參數(shù)個數(shù)及類型是?類的構造器需不需要參數(shù)?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,JAVA DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。

      基本API指的是實現(xiàn)了一些底層功能的類,通用性較強的API,如字符串處理/輸入輸

      出等等。我們又把它成為類庫。熟悉API的方法一是多查JAVA DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。

      1.4 特定API的學習

      JAVA介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發(fā),那么你需要學習Swing/AWT/SWT等API;如果你進行網(wǎng)絡游戲開發(fā),你需要深入了解網(wǎng)絡API/多媒體API/2D3D等;如果你做WEB開發(fā),就需要熟悉Servlet等API啦??傊枰鶕?jù)工作的需要或你的興趣發(fā)展方向去選擇學習特定的API。

      1.5 開發(fā)工具的用法

      在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急于上手JBuilder/Eclipse等集成開發(fā)環(huán)境,以免過于關注IDE的強大功能而分散對JAVA技術本身的注意力。過了這一階段你就可以開始熟悉IDE了。

      程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經(jīng)自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發(fā)變得更輕松。應該說IDE發(fā)展的趨勢就是集成軟件開發(fā)中要用到的幾乎所有工具。

      從開發(fā)效率的角度考慮,使用IDE是必經(jīng)之路,也是從一個學生到一個職業(yè)程序員轉變的里程碑。

      JAVA開發(fā)使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder占有的市場份額是最大的。JBuilder在近幾年來一直是JAVA集成開發(fā)環(huán)境中的霸主,它是由備受程序員尊敬的Borland公司開發(fā),在硝煙彌漫的JAVA IDE大戰(zhàn)中,以其快速的版本更新?lián)魯BM的Visual Age for JAVA等而成就一番偉業(yè)。IBM在Visual Age for JAVA上已經(jīng)無利可圖之下,干脆將之貢獻給開源社區(qū),成為Eclipse的前身,真所謂“柳暗花明又一村”。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發(fā)展?jié)摿Α?/p>

      2.學習要點

      確立的學習路線之后,我們還需要總結一下JAVA的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,不要嫌我婆婆媽媽啊。

      2.1勤查API文檔

      當程序員編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用“javadoc”工具(包含在JDK中)生成標準的JAVA DOC文檔,供同行使用。

      J2SE/J2EE/J2ME的DOC文檔是程序員與程序員交流的工具,幾乎人手一份,除了菜鳥之外。J2SE DOC文檔官方下載地址:。

      對待DOC文檔要像毛主席語錄,早上起床念一遍,吃飯睡覺前念一遍。

      當需要某項功能的時候,你應該先查相應的DOC文檔看看有沒有現(xiàn)成的實現(xiàn),有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現(xiàn)。使用步驟一般如下:

      ●找特定的包,包一般根據(jù)功能組織。

      ●找需要使用類,類命名規(guī)范的話我們由類的名字可猜出一二。

      ●選擇構造器,大多數(shù)使用類的方式是創(chuàng)建對象。

      ●選擇你需要的方法。

      2.2 查書/google->寫代碼測試->查看源代碼->請教別人

      當我們遇到問題的時候該如何解決?

      這時候不要急著問別人,太簡單的問題,沒經(jīng)過思考的問題,別人會因此而瞧不起你??梢韵日艺視?,到google中搜一下看看,絕大部分問題基本就解決了。而像“某些類/方法如何使用的問題”,DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看API的源代碼驗證你的想法。萬不得已才去請教別人。

      2.3學習開源軟件的設計思想

      JAVA領域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什么的,風光一把。分析開源軟件其實是你提高技術、提高實戰(zhàn)能力的便捷方法。

      2.4 規(guī)范的重要性

      沒有規(guī)矩,不成方圓。這里的規(guī)范有兩層含義。第一層含義是技術規(guī)范,多到

      http:///docs/codeconv/,中文的也有,啊,還要問我在哪,請參考3.2.2節(jié)。

      2.5 不局限于JAVA

      很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑郁癥。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心愿。

      JAVA不要孤立地去學習,需要綜合學習數(shù)據(jù)結構、OOP、軟件工程、UML、網(wǎng)絡編程、數(shù)據(jù)庫技術等知識。

      軟件工程的由來

      據(jù)說上個世紀60年代的程序員都是天才,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,第二天還可以拿去賣錢。所以那時候程序員在大家眼中,跟那些搞美術,音樂的是一類的,被稱為“藝術家”。

      但事過境遷,就像任何人都不會嫌錢多一樣,永遠都不會有人嫌CPU快的。于是,隨之而來的就是硬件的迅猛發(fā)展和越來越變態(tài)的軟件。記得以前常去同學家拷游戲,通常幾張軟盤就可以搞定,而現(xiàn)在的游戲,兩三張CD-ROM都算少的了。像如此龐大復雜的怪物,就算你是如何的天才,一個人肯定是搞不定的,否則,等你把程式寫出來,人家Intel連奔騰N都開發(fā)出來了。既要開發(fā)大型的軟件還要追求速度(這樣才能賺錢),于是很自然地,合作的概念被提了出來。

      在開始合作的初期,由于大家都習慣了當很有個性的“藝術家”,結果可想而知,一個是畢加索派的,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,要是像這樣湊出來的東西都能不出問題的話,那么Bill早就轉行了。所以,那時侯的大型軟件,據(jù)說“藍屏”比WINDOWS 98還多。

      馬克思告訴我們,萬物都是從量變到質變的。隨著問題的不斷涌現(xiàn),一些master們開始嘗試去總結經(jīng)驗,并歸納了一些規(guī)范去指導軟件的分析,設計,實現(xiàn),測試,維護,人員交流協(xié)作,項目預算及時限控制等方方面面,這就是軟件工程的前身。

      軟件工程到現(xiàn)在已發(fā)展了30多年,可以說是相當成熟的了?,F(xiàn)在開發(fā)軟件,據(jù)說都是一大幫人排排坐,按著一整套的規(guī)章制度來干活。于是,軟件開發(fā)成了“工程”,程序員也就淪為“工人”了。

      最初提出問題的是Dijkstra。他于1968年寫給ACM的一封題為Goto Statement

      Considered Harmful 的信中,指出了GOTO語句的負面作用,并提出了解決之道,其引發(fā)的一系列效應最終帶來了軟件工程的誕生。(信的原文可在004km.cn/classics/oct95 上看到,不過,當你看到本文的時候,天知道它還在不在那里?。?/p>

      軟件工程的核心

      無論是在上個世紀還是在現(xiàn)在,軟件開發(fā)所涉及的工作基本上都沒有變化,它們都起始于一個實際需要或某個靈感,然后就是分析,設計,編碼,調試,維護。這些任務以某種方式動態(tài)地結合起來就構成了軟件開發(fā)的整個過程,這就是所謂的“軟件開發(fā)周期”。

      但對于這些工作,具體怎樣做,什么時候做,每個人都有自己的一套方式,甚至有的人有幾套方式。這樣,當幾個人合在一起干活的時候,最終的結果就只能是一片混亂。所以就需要一套規(guī)則,大家都按規(guī)則來辦事,問題就會少得多。好的規(guī)則就叫做規(guī)范,規(guī)范都是由一些master們根據(jù)經(jīng)驗總結的,又經(jīng)過長時間的歷練,不斷地被補充修正,可以說都是精華,按照規(guī)范來干活,對于提高軟件質量和工作效率自然大有幫助。

      而軟件工程,說白了,就是這樣一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對于總體的組織和對于局部的實現(xiàn)。

      規(guī)范只是提供一個好的例子,以描述一種思想,具體到每一個環(huán)節(jié)怎樣實現(xiàn),對于不同的公司或團體則是各有千秋,因為根本就不可能存在一套放之天下皆可行的標準。就像C++,也只是提供了一套標準,不同的編譯器都有各自的實現(xiàn),對標準的支持程度也互不相同。所以,在不同的公司或團體中,盡管核心思想都是大同小異,但具體到每一個步驟,往往都是不相同的。我手上就有一份GB8567-88的文檔模板,對于那些頂多只有幾千行的小程序來說,假如真按上面的要求全寫上了,簡直就是一種折磨!據(jù)說,當前業(yè)界最權威的標準是CMM。

      軟件開發(fā)過程的組織

      如何組織軟件開發(fā)過程中的每一個步驟,就是軟件開發(fā)周期模型要解決的問題。其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。例如,最簡單的情況是,你通常都會突然發(fā)現(xiàn)在兩個成員函數(shù)中有相同的代碼,這時,程序員的直覺告訴你,你應該為你的類再添加一個private成員函數(shù)并將公共的代碼放于其中;又或者是,你突然發(fā)現(xiàn)一個模塊中的某個功能具有很高的通用性,完全可以提取出來作為一個獨立的功能組件,而你也確實應該這樣做;要是倒霉一點的話,你很有可能會在最后調試的時候突然發(fā)現(xiàn),你的程序跑得太慢了,連你自己都無法忍受。于是你找呀找,終于找到了80/20中的那段可惡的20,原來是用了一個O(N)的算法,這時你就得老老實實地換一個更好的算法。

      總之,除非你是先知,否則,對于一個具有一定規(guī)模和復雜度的軟件來說,在“設計—編碼”這個過程中,實在有太多的不可預知性和變化性,你根本不可能全盤地把握住每一個細節(jié)。當然,這是建立在我現(xiàn)時的水平之上的觀點。我不知道是否成為高手以后會有所不同,因為我身邊沒有那樣的人。

      既然軟件開發(fā)是一個具有不可預知性和變化性的動態(tài)的過程,那么,對其每一個步驟的組織,即周期模型,就必須包容它的這種性質。

      現(xiàn)在來看一下最古老,最經(jīng)典,同時也是最倍受批評的瀑布模型。

      瀑布模型是一種線性模型,其最大的特點就是簡單直觀。它將軟件開發(fā)過程規(guī)劃為“分析—設計—編碼—測試—維護”的線性過程,也就是說,你必須首先把你的軟件要干的每一件工作都分析得徹徹底底,再對每一個模塊,每一個接口,事無巨細,都設計得非常完美,然后才開始編碼的工作,并且在編碼的時候就像在對著圖紙砌模型,根本不用再回頭作任何修改,當然,是在把所有的代碼都寫完以后才開始測試的。

      整個過程,光想一下就覺得冒冷汗!

      瀑布模型完全忽視了軟件開發(fā)過程的動態(tài)變化??峙轮挥心切┮呀?jīng)發(fā)展得非常成熟,且規(guī)模不大的系統(tǒng),例如:用Access做后臺,用VB畫前端的數(shù)據(jù)庫應用程序,才有瀑布模型一展拳腳的地方。

      相比之下,現(xiàn)在常用的一些周期模型則更接近于人的自然思維,例如螺旋模型就是一種我比較喜歡的模型。

      軟件開發(fā)過程的實現(xiàn)

      具體到每一步的工作要怎樣完成,我前面已提到過,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在于以下3個方面:一是可以幫助整理思路。把要完成的目標,系統(tǒng)的結構,每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設計的時候,也有證可考。二是便于交流。想象一下開會時的情形。一大幫子人爭先恐后,激烈辯論,然后會終人散,思想靈感也就隨之散了,結果是開了半天會,什么也沒討論出來。這就是后來會議記錄被發(fā)明出來的原因。在腦子里的東西一多,就會散而且亂,用語言表達的時候,很容易會丟三落四,別人也很難把握住你的思想。但經(jīng)過整理寫在紙上以后,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以后維護時的參考資料。有一句名言:“筆和紙永遠都比大腦可靠”,意思就是說,放在大腦里的東西說不準哪天就忘了,但寫在紙上的東西,只要不發(fā)生什么意外,一般是丟不了的。當過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發(fā)現(xiàn),你以前寫下的文檔實在太有價值了。別指望你的源代碼,對于復雜一點的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。

      至于文檔怎樣寫,教科書上大多都是一條一條列得滿滿的,就像一些地方政府的規(guī)章制度一樣,其實大可不必,只要能滿足需要就行。如果是在公司,則每個公司大多都有一套自己內部的文檔模板,個人沒有選擇的余地。而對于像我這種業(yè)余的,寫個程序除了練練手藝,無非就是供自己和親朋好友玩玩,則根本沒必要搞得過于復雜。以下就是我自己的一份文檔模板的概要,麻雀雖小,但五臟俱全。

      可行性分析 就是關于當前項目能不能干的分析結果。主要考慮的方面包括:是否能把這個項目開發(fā)出來;假如可以的話,預計需要多少時間,能否滿足客人的時間要求;需要多少人力和資金的投入;最重要的是,這個項目能否賺錢,能賺多少。還要對可能存在的風險進行評估,例如,萬一項目主管被車撞了要怎么辦。當然,這對于我來說毫無意義,我在這里寫上只是為了保持完整而已。

      項目描述 這是在決定立項以后,對當前項目的一份扼要說明。必須包括以下幾個方面:

      (1)項目的名稱或編號;(2)對客戶方的描述;(3)對開發(fā)人員的描述;(4)工程任務的描述;(5)工程的輸入和輸出;(6)開發(fā)環(huán)境;(7)其他的附加條件。在這里,對工程任務的描述是從整體的角度來說的,例如:能對當前的象棋棋局進行分析并作出最優(yōu)決策的人工智能系統(tǒng)。而工程的輸入輸出則可以這樣寫:輸入當前的象棋棋局的數(shù)據(jù)描述;輸出最優(yōu)的棋步,包括選擇行動的棋子和步法。

      需求分析 就是對客戶要求的功能的定義。注意這里用了“定義”這個詞,這就意味著對客戶需求的說明,盡管不一定要是形式定義,但也必須是精確,無歧義的。同時,還要列

      出程序的功能模塊和邏輯流程,即與客戶的每一項功能要求對應的程序功能模塊有哪些以及這些功能模塊是按照怎樣的邏輯步驟來逐項完成客戶的要求的。注意這里所說的功能模塊與編碼時所說的程序模塊的區(qū)別。對于客戶的一個復雜的功能要求,一般可以用分治法分為一個或多個子功能,每一個子功能對應一個功能模塊,而每一個功能模塊則可以由一個或多個程序模塊來實現(xiàn)。功能模塊是建立在設計邏輯上的,而程序模塊則是直接面向實現(xiàn)的。在用OO編程的時候,我通常以類作為程序模塊劃分的基本單元。綜上所述,這個部分的文檔必須包括3個部分:(1)客戶需求的詳細描述;(2)程序功能模塊的劃分以及其與客戶需求的對應關系;(3)功能模塊的邏輯流程。

      軟件設計 這就是對程序的每一個模塊的詳細設計的說明文檔。其由以下幾部分組成:

      (1)程序模塊與功能模塊的對應關系和相關描述;(2)實現(xiàn)每個功能模塊的程序模塊的邏輯流程和組織結構;(3)對每一個程序模塊的詳細描述。這個部分的文檔是改動得最多的,如果與螺旋周期模型結合,甚至需要循環(huán)地對每一個模塊進行深入設計和細化,所以,為了便于管理,我通常都對每一個較復雜的模塊都單獨立一份文檔。至于模塊的流程圖或結構圖,一直都是我最頭疼的問題,那一大堆琳瑯滿目的畫法和符號往往令人無所適從。其實對于個人來說,只要能把意思表達出來,想怎樣畫都無所謂,關鍵是自己要有一套標準,別在這個圖中,矩形表示過程,而在另一個圖中,則是表示I/O。對每個符號表示的意思進行說明那是必須的,不然別人看起來會一頭霧水。假如嫌麻煩的話,就干脆使用那些被大多數(shù)人認可的標準,例如UML圖。但以后如果進到公司,還是老老實實地按公司規(guī)矩辦事吧。

      開發(fā)日志 我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明,例如,為什么要改成現(xiàn)在的這個樣子。別小看這些記錄,它往往會成為你以后對程序進行維護時的重要依據(jù)。要知道,人的IQ,EQ等,是會隨著人的生理和心理狀態(tài)的不同而變化的。在某個時刻,你可能會靈光一閃,做出了一個非常偉大的改動,但過了一段時間,當你再回過頭來重新閱讀同一段代碼的時候,你很有可能只記得在這里的改動是非常明智的,可是卻無論如何也想不起其明智在哪里。這時,一份日志就會省卻你不少的麻煩。

      測試分析 用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。其包括幾個部分:(1)對被測模塊的描述;(2)測試人員;(3)對該模塊每個功能的測試的詳細描述;(4)指出當前存在或潛在的問題。在測試描述中應該包括輸入的數(shù)據(jù)集和輸出的結果,還有運行的時間等。對于公司來說,對測試分析的要求是非常嚴格的。但對于我個人來說,我只是將其作為一份模塊測試的文字記錄,以防會忽略掉某些已知的缺陷和錯誤,以及對一些核心模塊的時間和空間效率進行簡單的測試,以便日后翻查。

      第三篇:JAVA學習路線

      Java是一個通用的編程語言,其實可以干很多事,怎么學Java就看怎么用了。

      但有一些一般的步驟:

      1.熟悉一種文本編輯器,比如vim, eclipse, notepad++, textmate等。知道哪些是開源的,哪些是閉源的,哪些要收費。養(yǎng)成不用盜版軟件的習慣。

      2.安裝JDK(建議用你的Linux發(fā)行版自帶的軟件包管理器安裝openjdk,過程中可能需要讀發(fā)行版特定的文檔)

      3.寫一個Java的Hello world程序,并用命令行工具javac編譯,再用java命令運行這個程序。過程中熟悉源代碼、字節(jié)碼、虛擬機這些東西,以及Java的包(package)對.class文件所在的路徑的影響。

      3.5.如果這兩個命令行工具使用熟練了,可以開始選一個喜歡的集成開發(fā)環(huán)境,比如Eclipse。當然,養(yǎng)成不用盜版軟件的習慣。熟悉一下如何建立“工程”,以及快捷鍵的使用。

      4.學習Java的面向過程編程,包括基本數(shù)據(jù)結構、表達式、語句、控制流、函數(shù)調用。

      5.學習Java的面向對象編程,包括類、引用類型和值類型的區(qū)別、成員、方法、訪問控制、繼承、多態(tài)、接口、接口實現(xiàn)。順便學習一下面向對象的基本思想,即對象、消息、封裝、繼承、多態(tài)等,這些通用的內容不是Java特有的。

      5.5 這時候應該已經(jīng)涉及了Java的垃圾回收。要留意即使有垃圾回收的情況下也會發(fā)生的內存泄露(如自己設計數(shù)組容器,元素是引用,邏輯上刪除了元素,但并沒有清成null)。

      6.學習Java的異常處理,但更重要的是學習什么時候用特殊返回值而不使用異常,什么時候應該拋出異常而不處理異常,知道什么是pokemon catch及其危害,了解為什么Java的checked exception是一個糟糕的特性。如果愿意,同時學習一下Java1.7的try-with-resource語句和AutoCloseable接口。

      7.熟悉Java常用的數(shù)據(jù)結構,如基本的數(shù)組類型,以及泛型容器(java.util.*),尤其是java.util.List接口和java.util.ArrayList實現(xiàn);以及java.util.Map接口和java.util.HashMap實現(xiàn)。(java1.5以前的沒有泛型參數(shù)的就不用碰了)同時留意一下基本類型int, double等和裝箱類型Integer和Double的區(qū)別,以及它們是如何自動轉換的。

      8.熟悉Java標準庫里的各種工具,包括日期時間、字符串格式化、IO等。知道文件要自己在finally子句中close(),或者用Java1.7的try-with-resource,不要妄想垃圾回收器會幫你關掉文件。

      9.學習一下Java的命名習慣,以及JavaBeans的常規(guī),知道為什么getter/setter比直接操作成員變量好。按這種方式給Java的變量、方法命名。同時看看你的IDE能不能自動幫你生成getter和setter。

      10.使用一個第三方的庫(比如Apache Commons Lang通用工具庫),讓你的程序依賴于它的二進制jar包(而不是直接拷貝源代碼),用命令行編譯、運行(注意classpath等);也熟悉一下如何用你的集成開發(fā)環(huán)境添加第三方依賴。感受一下手動管理依賴關系的麻煩。

      11.學習Maven的使用,試著讓Maven幫你解決依賴關系,再試著讓Maven幫你創(chuàng)建一個Eclipse工程。再試試用Maven打包發(fā)布。

      12.學習軟件測試,以及JUnit的使用,以及怎么在IDE中使用JUnit。有空看一下coverage工具。

      13.讀讀四人幫寫的《設計模式》(這本書是用C++和Smalltalk語言為例子的,但仍然適合Java)。具體的是這本書,http:///Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612 圖書館應該能還借到英文原版,因為我借到過。

      接下來就看具體要做哪方面的應用了,看需求。比如(下面的沒有順序)

      【....】如果學Java學得不舒服了,學Python。

      * 如果對面向對象編程的概念有點不習慣,學Smalltalk。(Ruby也行,但不如Smalltalk經(jīng)典。Ruby的文檔是一大硬傷。)

      * 如果嫌Java太啰嗦,學Python

      * 如果嫌Java太啰嗦,又想用JVM,自己又有精力,學Scala

      * 如果對對象之間的關系有點暈,學一學UML,以及它的一些圖,可以對程序和運行進行直觀的建模。你的IDE也許有插件可以生成UML圖。但是不要太沉迷于這些方法論。

      【調試和輔助工具】學習一下你的集成開發(fā)環(huán)境提供的調試工具,加一些斷點試試

      * 試試用jconsole或者VisualVM監(jiān)控另一個jvm的狀態(tài)。

      * 用profiling工具尋找程序中慢的地方。Eclipse有profiling工具。VisualVM也有這樣的功能。(如果不介意使用閉源軟件的話,也試試JProfiler和YourKit)

      * 有的JVM允許在運行時更新代碼。Eclipse可以和某些JVM集成。這樣你可以頻繁修改代碼而不用頻繁重啟JVM。對于某些“重型”工程很有用。(如果不介意使用閉源軟件的話,也試試jRebel)

      【多線程】學習Java的多線程編程以及l(fā)ock、condition的用法(包括傳統(tǒng)Java的synchronized語句以及新加的java.util.concurrent.*),學習一下如何讓線程停下來,以及為什么要頻繁確認isInterrupted()而不要用Thread.stop()。了解一下多核處理器、緩存、內存的關系,以及為什么多線程編程這么難。

      * 如果還舒服,學習一下Runnable的用法,以及自帶的Executer等基本多線程工具。* 應該已經(jīng)留意到java.util里面的很多容器不是線程安全的,但是java.util.Collections可以幫你創(chuàng)建一些安全的版本。另外關注一下java.util.concurrent里面有ConcurrentMap等容器可供使用。

      * 如果有空的話,看看memory model(內存一致性模型)和無鎖同步(見java memory model和java.util.concurrent.atomic)。

      * 如果還有空,再了解一下除了“共享內存多線程編程”以外有沒有別的模型(多進程multi-processing、消息傳遞message passing等)。

      【反射、元編程】學習Java的反射機制,以及Annotation的用法。

      * 如果還舒服,試試java.lang.reflect.Proxy的用法。

      * 如果仍然還舒服,玩一玩CGLib(一個第三方的庫)。

      【網(wǎng)絡編程】學習一下IP, TCP協(xié)議(計算機專業(yè)的應該學過,復習一下),學習Socket編程(注意垃圾回收器不會幫你關掉Socket)。

      1.如果不是很關心HTTP,看看java.nio,學習單線程輪詢式IO復用(Selector)。

      * 如果有點不明白nio的意圖的話,了解一下c10k問題。

      * 如果身體沒有異樣的話,大概了解一下操作系統(tǒng)(包括C語言)提供的select, poll, epoll, kqueue等接口。

      * 如果身體仍然沒有異樣的話,試著用java.nio寫一個文件服務器。

      * 如果還有精力的話,上網(wǎng)扒一扒有沒有其他的通信庫,如netty等。

      2.如果關心Web還有HTTP,就學習一下HTTP協(xié)議,以及用Java進行HTTP的客戶端編程。

      * 如果還舒服,學學HTML,寫寫HTML的靜態(tài)網(wǎng)頁(不需要Java)

      * 如果還舒服,用Java寫一個基于DOM、XPath或者CSS Selector的網(wǎng)頁解析器(爬網(wǎng)頁)。

      * 如果還舒服,學學Java的Servlet接口(先別學jsp)進行Web服務器端編程。學學標準的Servlet容器怎么用,包括web.xml的用法以及l(fā)istener、filter等概念。以及某個Servlet容器(如Jetty或者Tomcat)的具體用法。

      * 如果仍然還舒服,試著學一種模板語言(如haml, velocity, freemarker,【還有其他更好的框架嗎?我不知道】, String.format,如果真的想學JSP的話JSP倒是也行,但不推薦)。* 如果仍然覺得舒服,學學Spring框架中的Web框架,或者Struts,看你的口味。* 如果還舒服,看看Spring Bean Container以及里面各種亂七八糟的工具。

      * 如果還舒服,或者有需求,了解一下什么是RESTful Web Service,復習一下HTTP,找找適合的Java工具。

      * 你可能會覺得Jackson是一個解析JSON用的好用的東西。

      【數(shù)據(jù)庫】學習一下關系數(shù)據(jù)庫(計算機專業(yè)的應該學過,復習一下),包括SQL。選一個數(shù)據(jù)庫管理系統(tǒng)熟悉一下(比如MariaDB,或者(如果你不討厭Oracle的話)用被Oracle收購了的MySQL。先脫離Java單獨學學)。然后看它們的官方文檔教你怎么用Java連接這種數(shù)據(jù)庫。這中間會涉及到JDBC接口。同時一定要知道SQL注入安全漏洞,以及掌握如何用PreparedStatement防止注入!。建議看 http://bobby-tables.com/

      * 可能中間會涉及“事務”問題,讓你不知不覺地開始去了解java transaction api(JTA)。* 如果還舒服,學一學對象關系轉換(如Hibernate)。

      * 也可以學學非關系數(shù)據(jù)庫,以及如何用Java訪問它們。

      【日志記錄】學習一下slf4j和logback的用法。

      * 如果有精力的話,以及大概知道世界上有多少種Java日志框架,以及slf4j是怎么橋接這些框架的。

      【構建(build)系統(tǒng)】學習一下Ant的用法。

      * 如果還舒服的話,學習一下用Ivy從Maven的倉庫里下載軟件包,解決依賴關系。

      【版本控制】學習一種分布式版本控制器(如Git、Mercurial、Bzr、Darcs等,推薦Git)的基本用法,以及如何用它管理Java工程。希望你已經(jīng)開始使用Maven了。然后了解一下如何在IDE中使用(Eclipse自帶Git插件)。

      * 如果感覺很舒服的話,為你們實驗室搭建一個Linux+SSH+Git服務器,裝個GitLab(一種Web界面)。并說服同事們不要再用SVN、CVS或者SourceSafe等老舊的“集中式版本控制器”了。

      * 開設一個GitHub賬戶。如果你不喜歡Git,就用BitBucket等。

      【持續(xù)集成】自己(或者為你們實驗室)搭建一個持續(xù)集成(Continuous Integration)服務器,定期編譯你的程序。

      【零碎工具】淘一淘java.nio.files里面有什么好用的東東,然后再淘一淘Apache Commons Lang和Commons IO里有什么好用的工具。Commons Logging就不要再用了,用SLF4j和Logback。

      【XML】學學XML、DOM、XPath。XML這東西到處都可能用到。也可以用它寫自己的配置文件。

      * 如果覺得不舒服了,就學學JSON和YAML。

      * 如果還是不舒服,就學學文本文件解析。

      【語法分析和編譯器】學學Antlr或者別的Parser Generator的用法

      * 如果覺得舒服,自己寫一個計算器。

      * 如果還覺得舒服,自己寫一種Domain-Specific Language(DSL)。

      【高效容器】學學FastUtil或者Trove,如果你需要進行大量數(shù)值運算的話。

      【分布式計算】學學MapReduce的思想以及它的實現(xiàn)。

      * 如果還舒服,學學Scala語言以及號稱比MapReduce快得多的Apache Spark。

      【進程間通信】看看ActiveMQ、MINA和RMI。

      【其他語言(JVM)】學習另一門跑在JVM上的語言或者實現(xiàn)(如Groovy、Scala、Clojure、JRuby、Jython、JavaScript……)

      * 如果還舒服,學一學Java Scripting API(注意不是JavaScript。給個鏈接: http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/),然后試著在自己的Java程序里嵌入腳本。

      【其他語言(非JVM)】學習另一門通用腳本語言(如Python、Ruby,其實perl也行,但不推薦),知道什么時候Java不是最好的選擇。

      【Java語言和Java虛擬機】通讀一遍(一目十行地讀,不用細讀)Java Language Specification,以及Java Virtual Machine Specification。

      * 了解以下解釋器(interpreter)、編譯器(compiler)、即時編譯器(just-in-time compiler)和優(yōu)化器(optimiser)的概念。

      * 如果對編譯器的話題不感到畏懼,了解一下method JIT和tracing JIT的概念和區(qū)別。

      【內存管理】學學垃圾回收的幾種基本算法,包括mark-sweep、mark-compact、semi-space、generational、mark-region等,各自的性能,以及為什么樸素的reference counting是不完整的。知道為什么finalizer性能很糟糕,而且標準并不要求finalizer在程序退出前一定會執(zhí)行。* 如果還舒服,了解一下如何設置Java虛擬機的堆大小限制(如HotSpot虛擬機的-Xmx選項等)。

      * 了解一下Java里的WeakReference以及SoftReference和PhantomReference,以及它們什么時候有用,以及為什么它們實現(xiàn)起來有些困難。

      * 如果有精力,了解一下Hotspot虛擬機的內存管理算法是什么樣的。

      【動態(tài)裝載】學學Java的動態(tài)裝載(class loading)

      * 如果還舒服的話,學學OSGI以及它的一種實現(xiàn)(如Felix或者Equinox)

      * 如果仍然很舒服的話,學學寫基于Eclipse平臺的程序。不是Eclipse集成開發(fā)環(huán)境,只是利用他們的圖形框架,寫自己的應用程序。

      * 如果還覺得舒服的話,寫Eclipse集成開發(fā)環(huán)境的插件。

      【本地/外語接口】學習一下Java Native Interface(JNI),試著寫一個Java和C語言混合編程的程序。

      * 如果覺得不舒服了或者覺得欲仙欲死,就學一學Java Native Access(JNA),試一試不用任何膠水代碼而從Java直接裝載C庫,直接調用C函數(shù)。

      * 如果連JNA也懶得學,就學一學SWIG,自動生成綁定。

      * 如果覺得舒服,就學一學Java Virtual Machine Tooling Interface(JVMTI),用C程序來監(jiān)視JVM的狀態(tài)。

      【密碼學】學一學密碼學,包括編碼、密碼分析、攻擊、對稱密鑰、公鑰系統(tǒng)、數(shù)字簽名、哈希算法等,看看Java有沒有實現(xiàn)。

      * 如果覺得有點不舒服(你應該不會覺得舒服吧,除非你是學密碼學的,要不然總會覺得自己寫的程序有安全漏洞),就寫一個“人品計算器”來放松一下,要求每次輸入同一個姓名,得到的人品值是固定的,但又要讓人無法用別人的人品值猜自己的人品值。

      【移動終端】學一學Android開發(fā)。

      * 如果有精力的話,看看Dalvik虛擬機是怎么回事。

      * 建議買一個iPhone或者iPad,或許你再也不想用Android手機或者平板了。

      【歷史】如果覺得有些無聊,就去挖一挖歷史上比較火的可能和Java相關技術,比如:* Applet,想想它比起html5+css3+javascript的缺點在哪里。

      * AWT、Swing,想想為什么很少有人用Java寫圖形界面程序。你覺得Swing的程序看上去舒服嗎?中國人和殘疾人喜歡用Swing程序嗎?

      * JNDI,想想它比起Spring Bean Container的缺點在哪里。

      * JSP,想想它比起MVC結構的缺點在哪里。

      * WSDL/SOAP,把它們和XML-RPC、RESTful Web Service比較一下。

      * XSLT,以及為什么它是圖靈完備的??墒撬娴谋菾ava本身更好用嗎?

      * Log4j、java.util.logging、Apache Commons Logging,各自有什么問題,以及Log4j的作者本人為什么又開發(fā)了SLF4j和Logback?

      * Java最早是為什么設計的?

      * Type erasure是怎么回事?為什么ArrayList不行但ArrayList就可以?挖一挖歷史。

      第四篇:Java學習路線

      怎么學習Java,這是很多新手經(jīng)常會問我的問題,現(xiàn)在我簡單描述下一個Java初學者到就業(yè)要學到的一些東西:

      首先要明白Java體系設計到得三個方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我們經(jīng)常說到的JDK,就主要指的這個,它是三者的基礎,屬于桌面級應用開發(fā),這部分如果學得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業(yè)級Java,適合企業(yè)的大型應用開發(fā)。

      J2SE:

      新手最初學習的時候先要從J2SE開始學起,所包含的內容主要分為:面向對象概念的理解、Java基本語法的學習,Java桌面圖形界面應用程序的開發(fā),掌握常用的Java API等(關鍵是要學會怎樣查閱)。

      重點:Java基本語法(循環(huán)結構,數(shù)據(jù)類型,數(shù)組,運算符等)、Swing,awt,事件機制、文件輸入輸出流處理等

      難點:面向對象思想的理解(接口、類等)、線程、socket網(wǎng)絡編程等

      視頻教程推薦:孫鑫的Java基礎視頻教程、張孝祥的Java基礎視頻教程,講的都很細,而且這兩位老師在教學方面都有很好的經(jīng)驗。

      J2EE:

      在學習了J2SE之后,你可以嘗試著慢慢過渡到J2EE,當然,學習J2EE海需要很多非JAVA技術的支撐,比如數(shù)據(jù)庫技術,網(wǎng)頁編程技術等等,待會我會詳細介紹這兩方面的內容。J2EE有三個必學的框架,如果你說你學了J2EE,但又不會這三個框架的話,那會讓人笑掉大牙,這三個框架分別是Struts、Spring和Hibernate,雖然這三個框架應用很廣,但不代表這三個框架就代表了J2EE,J2EE還有很多其他的東西,比如EJB,作為一款重量級(此重量級不是指重量級選手那個意思,此重量級非彼重量級)框架,雖然這個應用慢慢的再被其他框架所取代,但EJB3.0的出現(xiàn)也給它帶回一些生機,作為一個分布式應用的框架,也是大家要去學習和了解的知識。

      當然,剛才說到J2EE包含的范圍很廣,即使我把我所了解的所有技術說出來,也并不能代表J2EE,這是一個很深很廣的學問,需要大家以后再工作的時候慢慢去發(fā)現(xiàn)了。我所了解的還包括:

      JDBC:Java數(shù)據(jù)庫連接對象,基礎中的基礎,Hibernate也只是對它的封裝而已 JNDI: Java 命名與目錄接口,J2EE重要規(guī)范之一 EJBS: 上面已經(jīng)提到過了

      RMI: 提供遠程調用方法的支持,主要用于程序分布式開發(fā) JMS: Java消息服務,中間件技術

      JAVA IDL: 提供J2EE平臺與CORBA交互能力和互聯(lián)能力的技術 JTS: 組件事務監(jiān)視器 JTA: 事務劃分的一個技術 JAVAMAIL: Java中的郵件技術 JAF: Java啟動框架,沒研究過 Log4j,一款日志處理的框架應用

      Junit:單元測試的好幫手

      freemarker、velocity:兩款不錯的模板引擎

      與Flash的交互Flex:目前很多的SNS應用就是使用到了這個技術

      Web services:想知道我們論壇天氣預報的效果是怎么做的嗎?請關注這個技術 SOA:面向服務架構,未來技術發(fā)展的趨勢之一 ……

      不過前面介紹到得這些都不是J2EE的基礎,是屬于框架應用級別的.要真正把上面說到的知識掌握好,還是的學習J2EE最核心的東西:JDBC、JSP、servlet和JavaBean,后面三個也是學習SSH的基礎(StrutsSpringHibernate的簡稱).鑒于J2EE的內容太過復雜,建議大家最初只學習: JSP, servlet和JavaBean,等這個基礎掌握好再把SSH學習了,再對其他J2EE技術有個大致的了解就可以出去找工作了。當然,找工作的前提除了把Java學習好,還會有一些其他的技術也是必須要掌握的。數(shù)據(jù)庫技術:

      數(shù)據(jù)庫幾乎是程序中不可或缺的一部分,在整個軟件開發(fā)中更是占據(jù)了重要作用.數(shù)據(jù)庫在整個軟件中扮演的是地基的角色,你要修房子,就要先打好地基,你要做軟件,就要先設計好的數(shù)據(jù)庫.目前數(shù)據(jù)庫幾乎都是關系型數(shù)據(jù)庫,代表的有: SQL Server,目前最新的好像是2008,我不是很喜歡追趕時髦,用的還是2005,不過也很不錯了,在此之前還有2000.MySQL,最知名的開源數(shù)據(jù)庫之一,我很喜歡它的小巧耐用,學過SQL SERVER數(shù)據(jù)庫再學它,無師自通,易如反掌.ORACLE.甲骨文公司的產品,大型數(shù)據(jù)庫,正版的一般公司買不起.只有看看了,不過現(xiàn)在Java開發(fā)60%都是會使用到這個數(shù)據(jù)庫,再加上現(xiàn)在甲骨文已經(jīng)把sun公司收購了,JAVA和ORACLE得關系更加曖昧,各位得多花些時間在這上面了.除了這些,你還應該了解一些桌面應用軟件開發(fā)用到的數(shù)據(jù)庫,比如說sqlite。你在制作安裝程序的時候可以把這個數(shù)據(jù)庫打包進你的安裝程序。

      網(wǎng)頁編程基礎:

      網(wǎng)頁編程基礎要學的內容也比較多,但主要集中在以下這三個技術之上,大家每天看的各種樣式的網(wǎng)頁都是它們呈現(xiàn)的: HTML:超文本標記語言 CSS:層疊樣式表

      Javascript:瀏覽器客戶端腳本語言

      現(xiàn)在更是流行各種JavaScript庫,比如:Jquery、ExtJs等,你要是會其中的某一個庫的使用,找工作so easy。

      J2ME:

      如果你在學習了以上技術還不過癮,可以再學習手機程序的開發(fā),就我個人看來,開發(fā)手機程序技術其實蠻簡單的,難點在于優(yōu)化,比如怎么讓你寫的程序盡量的節(jié)約手機資源,“代碼誠可貴,手機價更高“,所以不得不比PC機多考慮很多成本和實用性問題。J2ME的學習的話,切忌不要單純的再模擬器上測試,一定要找真機測試,真機和模擬器的效果之間差別是很大的。更多手機開發(fā)技術,有興趣的朋友可以和我一起探討。

      開發(fā)工具:

      開發(fā)工具的選擇主要還是看大家的習慣,我個人比較喜歡使用eclispe,功能很強大,也很好拓展其他的功能。當讓初學你也可以選擇JCreator,或者最好就直接用記事本。等你熟悉了Java代碼之后,就可以使用JBuilder、eclispe或者netbeans這一類的工具了。

      先說到這里先,以后大家一起完善這個帖子。盡量再給大家整理一些學習的資源在這里。也歡迎大家一起整理我文章中提到的一些技術資源和開發(fā)工具。最后,再和大家分享一句話:生命欣欣向榮,唯奮斗不息。也和大家分享一幅Java學習路線圖:

      第五篇:java WEB 學習路線 v0.1

      1.J2SE 和Eclipse工具的使用

      ? 集合類

      * List / Set / Map / Iterator

      ? Java反射機制

      ? 正則表達

      2.數(shù)據(jù)庫 Mysql

      ? 什么是數(shù)據(jù)庫

      ? 基本語法: 建表刪表、Mysql 字段類型、單表增刪改查

      ? 條件控制語法:where / and / or / desc

      ? Mysql 內置函數(shù)

      3.JDBC基礎 即:java連接數(shù)據(jù)庫

      JDBC應用接口(API)開發(fā)數(shù)據(jù)庫應用程序、實現(xiàn)將面向對象的設計映射到關系型數(shù)據(jù)庫中、設計多層的數(shù)據(jù)庫應用程序、數(shù)據(jù)庫連接池技術。

      4.HTML_CSS_Javascript(靜態(tài)頁面基礎)

      * HTML_CSS_Javascript基礎語法

      5.Servlet and JSP

      * Tomcat基礎

      * Servlet基礎 Web.xml配置基礎

      * Cookie

      * Session

      * Application

      * JSP語法基礎

      6.Myeclipse 7.1的使用

      7.學生信息管理系統(tǒng)

      項目實戰(zhàn)

      8.JSTL

      Java 標準標簽庫

      9.分層思想 以及MVC

      10.BBS網(wǎng)站論壇

      項目實戰(zhàn)

      11.XML + AJAX

      ? XML語法規(guī)范

      ? DOM和SAX解析方式

      ? Dom4j JDOM、JAXP解析實踐

      ? AJAX 簡單異步請求

      12.SSH

      即三大主流框架spring、struts、hibernate

      13.UML 統(tǒng)一建模語言 Rational Rose

      14.EJB 3.0

      下載java學習的路線word格式文檔
      下載java學習的路線.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內容。

      相關范文推薦

        java學習路線(共5篇)

        1. 學習路線 首先是JAVA基礎JAVA SE 之后是JAVA EE,先學習Servlet、JSP,然后再學習Struts、Hibernate、Spring等框架。 JAVA SE是JAVA EE的基礎,Servlet、JSP是框架的基礎。......

        Java程序員成長路線

        004km.cn Java程序員成長路線 Java程序員 高級特性 反射、泛型、注釋符、自動裝箱和拆箱、枚舉類、可變 參數(shù)、可變返回類型、增強循環(huán)、靜態(tài)導入 核心編程......

        Java自學成長路線

        Java自學成長路線 JAVA自學之路 一:學會選擇 決心做軟件的,大多數(shù)人選的是java,或是.net,也有一些選擇了手機、嵌入式、游戲、3G、測試等。 JAVA是一種平臺,也是一種程序設計語......

        給予Java初學者的學習路線建議(范文大全)

        給Java初學者的學習路線建議 在校學生,務必要在學好基礎(比如計算機系統(tǒng)、算法、編譯原理等等)的前提下,再考慮去進行下面的學習。第一部分:對于尚未做過Java工作的同學,包括一些......

        JAVA學習

        1 買本《java瘋狂講義》 或者 在網(wǎng)上下載下來看看2 主要看java語法部分和面向對象編程部分3 這些要速度過 接下來開始寫一些小例子 從例子里面學習會更快4 例子差不多了就開......

        java學習

        .如何學習Java? 3.1 Java學習路線 3.1.1 基礎語法及Java原理基礎語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎,你......

        期貨學習路線

        期貨交易是現(xiàn)有幾種能憑借動力,耐力和技巧,以相對較少的資金投入來獲得無限潛在利潤的投資工具之一。可以說沒有任何資本投機像期貨交易那樣充滿投機性,迷惑性,風險性而又前景廣......

        嵌入式學習路線

        語言基礎 1.C 與 C++ A. 《c reference》 B. 《c++ 編程思想》 C. 《effective c++》 D. 《more effective c++》 E. 《effective c++ stl》 2. 軟件設計 A. 《UML 2.0 Refe......