第一篇:java學習過程參考
收集的一位前輩的經(jīng)驗,分享給大家,希望對大家的學習有所幫助。
—————————————————————————————————— 我是從事軟件相關(guān)工作的,僅僅給你一些個人建議吧:
首先對于JAVA基礎(chǔ),如果你沒有基礎(chǔ),我推薦你《java開發(fā)實戰(zhàn)經(jīng)典》李興華的教程,起點很基礎(chǔ),后期講的內(nèi)容深度事宜,很適合入門的教材。
當你JAVA基礎(chǔ)有一定功底后,在選擇一本JAVA WEB的書籍,如果你比較適應(yīng)李興華的教程,可以繼續(xù)選擇他的書。
但是在你學習java的同時,一定要注意對MVC設(shè)計模式的了解與滲透,為今后的學習做下鋪墊。在你大體掌握JAVA語法的同時,建議你開始學習Oracle的相關(guān)知識名主要以SQL語句為主,一定要熟練掌握。在對數(shù)據(jù)庫庫有一定了解后依次開始進行下列學習:
1,JDBC數(shù)據(jù)庫連接
2,html靜態(tài)網(wǎng)頁設(shè)計
3,Servlet的應(yīng)用
4,MVC設(shè)計思想
5,javaWEB,jsp頁面設(shè)計
6,小型項目實踐
7,Struts框架學習
8,大型項目實踐
事實上到第6的時候,既可以算是進階學習了。
另外要提的是,學習JAVA的捷徑不僅僅是看書,視頻教程也是很重要的,之所以推薦你這兩本書,是因為教程非常優(yōu)秀,另外你可以看看馬士兵的視頻,同樣會讓你受益匪淺。如果需要的話你留下郵箱,我可以給你發(fā)過去。
學習java一定要多敲代碼多練習,這才是根本。相信你擁有10000行有效代碼的時候就可以真正地進行框架的學習了。學習軟件java編碼是基礎(chǔ),框架應(yīng)用和項目的設(shè)計思路才是最重要的。在你學習java基礎(chǔ)和高級的時候,一定要注意相關(guān)知識的滲透和了解,就業(yè)方面來講,現(xiàn)階段的就業(yè)前景很好,Java的需求量很大。但是就于現(xiàn)階段的狀況,安卓在出現(xiàn)以后,搶占了不少市場。但是必須告訴你的是,軟件行業(yè)是青春飯,只靠編碼的工作生命周期最多5年,技術(shù)快速更新,新人不斷涌現(xiàn)。你必須要有足夠的項目經(jīng)驗才能長久立足。另外,加入你剛剛開始學習,你必須考慮你就業(yè)的時候會不會出現(xiàn)人才過剩....我個人認為3年之內(nèi)Java還是沒有問題的,剩下就靠你的能力啦。軟件行業(yè)極其重視你的能力的~
祝你成功吧~
追問
謝謝了,不能同時給好幾個人分數(shù)。
回答
^_^之后我把資料給你發(fā)過去吧~
| 評論
2012-5-17 02:23 chengangzhengd | 四級
軟件工程重要的幾科是:計算機算法、數(shù)據(jù)結(jié)構(gòu)(特別重要)、操作系統(tǒng)、計算
機網(wǎng)絡(luò)、分布式系統(tǒng)。這幾科理論一定要認真學好,一定要掌握好,它們決定了你日后的路能走多遠,至于上面的編程語言都只是他們的實現(xiàn),學習那種語言由你自己決定,如果你學的是java或者是C++,那么還要精通“設(shè)計模式”以及“面向?qū)ο罄碚摗?。下面是我學習java的路線圖。
1.首先找一本簡單的教材,先對java有個基本的認識(大概看那么半個月就差不多了,隨便下載一本入門的書就行了)
2.然后推薦你看<
3.這個時候可以看看<
4.然后java就會分方向,j2me(手機編程),已經(jīng)過時了;j2ee方向(Web編程),先學html,javaScript,css(這些書多得數(shù)不清),然后就學servlet、jsp還有tomcat服務(wù)器,《jsp應(yīng)用開發(fā)詳解》(入門)《Servlet與JSP核心編程》(核心)《Tomcat與Java Web開發(fā)技術(shù)詳解》這幾本書還不錯,然后就可以學習SSH
5.學習數(shù)據(jù)庫理論、JDBC(最好能夠?qū)W好oracle),學習struts的時候建議從struts1開始學起《精通Struts基于MVC的Java Web設(shè)計與開發(fā)》,然后就可以學習struts2《Struts2權(quán)威指南》,接下來學習Hibernate《精通Hibernate:Java對象持久化技術(shù)詳解》,最后學習Spring《spring2.0技術(shù)手冊》和EJB《Enterprise JavaBeans, 2nd Edition》(提示:只要java基礎(chǔ)學得好,這些東西都會學得很快)
6.這個時候就要把注意力放在設(shè)計模式(做應(yīng)用特別重要),數(shù)據(jù)結(jié)構(gòu)和計算機算法上面來了,設(shè)計模式可以先看<<深入淺出設(shè)計模式>>然后再看<
7.等掌握前面的這些知識之后,推薦看<
本書弄懂了,那么學習jquery和extjs都會很快的<<深入淺出ExtJS>>和《鋒利的jQuery》。
8.學習SSH源碼,里面的思想太多太有用了。不要心急,不要圖快,所有的書要一本本的慢慢看,多看幾遍(一本書看上個四五遍,就可以成高手,呵呵)。
9.java基礎(chǔ)(j2se)的重點有:繼承、多態(tài)、流、線程、網(wǎng)絡(luò)編程、反射、集合、數(shù)據(jù)庫連接、泛型、JNI技術(shù)、分布式技術(shù)還有解析xml也是很重要的,如果你想學android手機編程,那么SWING和AWT要熟悉一下?!禛oogle+Android開發(fā)入門與實戰(zhàn)》(入門)《Google Android SDK開發(fā)范例大全》(深入)(建議把android當作業(yè)余愛好,把web編程當作主攻方向,因為j2ee包含了大量框架知識),書很多,可以自己去搜。多想 多看 多練才是王道,不要相信什么培訓機構(gòu),這些都沒啥用,真正學好只能靠自己。
10.面向?qū)ο笏枷?java基礎(chǔ)(j2se)+數(shù)據(jù)結(jié)構(gòu)+設(shè)計模式+計算機算法為核心,本科生什么都可以不學好,唯獨這幾科一定要學好,切記切記?。ǖ诙€重點)
11.學完以上的知識,可以做一個ERP系統(tǒng)了,不過這些都還只停留在Web application階段,這里也是本科生與研究生的分水嶺!
12.互聯(lián)網(wǎng)的制高點是Web Service,前端是J2EE+移動終端(Android、IOS、黑梅),后端是linux操作系統(tǒng)。
12.那么如何將大量的服務(wù)器集成呢?如何把一個工作分為多個任務(wù)分發(fā)給多個服務(wù)器來處理呢?如何將解決多個服務(wù)器之間通信的問題呢?如何解決服務(wù)器之間高并發(fā)的問題呢?
如何建立一個Web Service提供接口讓外界調(diào)用呢?(這些都是研究生學習的內(nèi)容)
13.深入理解計算機網(wǎng)絡(luò)、操作系統(tǒng)、分布式系統(tǒng)的原理知識。學習RMI、JMS、《JAVA消息服務(wù)》,《JAVA并發(fā)編程實踐》對這些問題都有一個初步的介紹與實現(xiàn)
14.學習linux操作系統(tǒng)《鳥哥的私房菜》
15.學習處理服務(wù)器端的海量數(shù)據(jù),云計算等知識《Hadoop權(quán)威指南》
16.集成系統(tǒng)的時候,有可能上游企業(yè)用的是其他的語言,那么你還得去學另外的語言。
17.掌握一門腳本語言,比如ruby
18.軟件工程的名言“什么是專業(yè)?專業(yè)就是你比別人花更多的時間!”(多花時間)“最好的最厲害的招式就是沒有招式!”(設(shè)計模式的最高境界)
第二篇:Java web開發(fā)的學習過程
Java web開發(fā)的學習過程
不知不覺從開始學習Java到現(xiàn)在已經(jīng)有三年多的時間了。
這三年多里,自己真的學到了很多,也做了一些商業(yè)項目的開發(fā)。最近有一些師弟在問我,如何去學習Java Web開發(fā),在這里我簡單地總結(jié)一下我這三年多來的學習過程,希望對他們有一些幫助。
1.java基礎(chǔ)。這是最基本的,也是最重要的,熟悉java語言基礎(chǔ)不只在面試的時候有幫助,在以后的開發(fā)過程中也是不可或缺的。從一無所知到基本上能夠?qū)懗鲆恍┬〕绦?,我是花了有兩個多月的時間的。但是我的java基礎(chǔ)還不行,所以打算最近再惡補一下thinking in java這本經(jīng)典。
2.HTML+CSS+Javascript。學完java基礎(chǔ)之后,如果真的要學web開發(fā),那么就必須得學習HTML+CSS+Javascript,能夠?qū)懗鲮o態(tài)的頁面。這些算比較簡單的,但是javascript的話,我沒有學得很好,但是還是算會用。
3.SQL語法,MySQL,Oracle數(shù)據(jù)庫操作,PL/SQL語言。因為我們做的系統(tǒng)大部分是信息管理系統(tǒng),所以數(shù)據(jù)庫操作是必須的,最好也找數(shù)據(jù)庫設(shè)計相關(guān)的書來看。
4.JDBC+JSP+Servlet的開發(fā)。應(yīng)該要先了解MVC的概念,了解如何用JSP+Servlet來實現(xiàn)MVC結(jié)構(gòu)的系統(tǒng)。這也是非常重要的,MVC這種思想雖然現(xiàn)在有些人覺得它很舊,很out了,但是目前大部分的系統(tǒng)還是用這種思想來實現(xiàn)的。而且這三種技術(shù)也是基礎(chǔ)中的基礎(chǔ)。我當時花了一個多月的時間學的,而且還寫了一個《汽車銷售》的課程設(shè)計。
5.SSH。然后就開始進入流行的開源框架這一塊了。SSH絕對是目前最流行的JavaEE開發(fā)技術(shù),特別是在國內(nèi),雖然有些公司有自己的框架,但是大部分也是基于SSH的,或者說思想和SSH是一致的。所以這三個框架也是必備的。我是花了有三個月的時間在這上面,而且也只是會用而已,對其中一些比較核心的東西還是不懂。
6.AJAX。AJAX的話算是比較簡單,學習完它的原理后,可以用一些流行的開源框架來實現(xiàn),如果DWR。也可以順便學習一下JQUERY和Prototype,可以讓你的AJAX應(yīng)用更加便捷。
7.XML。XML也是重中之重,開發(fā)時的法寶之一。
8.如果學習完以上七個部分,那么去一般做Java Web的軟件公司都是沒有問題的了。但是現(xiàn)在關(guān)鍵的是熟手多,高手少。真正要成為高手,還有很長的路要走,包括時刻關(guān)注java web的發(fā)展,不斷地學習一些新的技術(shù),一些新的框架。也要開始學著如何去架構(gòu),包括如何去做性能調(diào)優(yōu),如何去做更好的數(shù)據(jù)庫設(shè)計,如果去做項目管理等。
所以目前我跟所有剛開始學習java的人們一樣,都是有很長的路要走,只要腳踏實地,一步一步向目標邁進,我想,沒有什么可以難倒我們的。
第三篇:成為java程序員的學習過程
成為java程序員的學習過程
成為java程序員的學習過程
學習任何一種知識都是一個從無到有,從略知到精通的過程。這個過程是一個循序漸進的過程,沒有什么捷徑,但是在這個過程中好的學習方法,可以使我們少走一些彎路。
很多java初學者面對java龐大的知識體系,不知如何下手。java私塾根據(jù)多年的教學經(jīng)驗總結(jié)出以下幾點可以幫助同學學習java,同學們可以參考一下,制定自己的學習路徑。
1:Java編程的知識和技能、JEE體系的知識
2:數(shù)據(jù)庫的基本知識,包括Oracle和SqlServer和MySql
3:Web開發(fā)的知識和技能
4:EJB組件開發(fā)的知識和技能
5:流行的Struts、Spring、Hibernate、Webwork、Ibatis開發(fā)框架
6:實用的Ant、Xdoclet、Log4j、Junit、Vss、Cvs等開發(fā)工具
7:工作流技術(shù)和實用的Shark、JBPM等工作流框架
8:搜索引擎技術(shù)和實用的Lucene等搜索引擎框架
9:WebService技術(shù)和SOA架構(gòu)
10:AJAX技術(shù)和Dwr框架
11:UML軟件工程的知識
12:Java的設(shè)計模式,JEE的設(shè)計模式和JEE應(yīng)用程序框架設(shè)計
13:好的編程思想和素質(zhì),IT學習的方法和技能
14:眾多開發(fā)工具的使用,開發(fā)平臺和環(huán)境的配置
15:完整的JEE項目開發(fā)經(jīng)驗和技能
這個學習過程是java私塾的陳老師根據(jù)多年的工作經(jīng)驗和教學經(jīng)驗總結(jié)的,希望能給想學Java的各位一些幫助
第四篇:Java程序員修煉十大過程
Java程序員修煉十大過程
學習java這么久,見到過項目中的神人在鍵盤上運指如飛的編程速度,當時就被震撼了。當編程越來越成體力活,我們還能有自己的思想,還能修煉為Java系統(tǒng)級別的程序員嘛?學習與修煉以下知識與技能,幫你早日達成愿望。
一、努力成為某個行業(yè)或者領(lǐng)域骨干
面對漫長的職業(yè)生涯,要想不被淘汰,必須具備一招鮮吃遍天下的能力,選擇自己感興趣的方向,努力而深入的研究,計算機技術(shù)發(fā)展到今天已經(jīng)細分很細,努力研究一種Java開源框架或者開源HTTP服務(wù)器源碼或者研究過網(wǎng)絡(luò)爬蟲源碼或者WEBKIT內(nèi)核,不愁沒有人要你。如果你是非常了解金融,企業(yè)ERP,證券,保險,移動應(yīng)用行業(yè)的應(yīng)用開發(fā)業(yè)務(wù)的人,一樣不用愁工作。這些知識不隨語言而改變,努力做一個有核心競爭力的Java程序員。
二、保持謙虛,三人行必有我?guī)?/p>
喬幫主說他要保持初心,努力學習,我等更應(yīng)該保持謙虛,IT技術(shù)發(fā)展日新月異,在你眼中不可能實現(xiàn)的技術(shù),也許別人早已經(jīng)有思路。保持謙虛就有機會吸取別人身上的長處,古人有云:滿招損,謙受益。一個得道的高人更是說出了“下下人,上上智”的禪語。永遠不要拒絕幫助你周圍的人解決難題,解決難題是進步最快途徑。不要放棄任何一次可以提升自己技術(shù)與能力的機會。
三、熟悉常見的網(wǎng)絡(luò)通信協(xié)議
對HTTP協(xié)議,知道POST, GET的區(qū)別是什么,閱讀過HTTP相關(guān)的RFC文檔。學會使用sniffer工具查看數(shù)據(jù)包,幫助查找與調(diào)試程序,知道TCP與UDP的區(qū)別,知道并理解E-Mail發(fā)送與接受的協(xié)議如SMTP,POP3,IMAP等協(xié)議,了解MIME與Base64編碼。知道組播是怎么回事情。
四、理解并能合理運用設(shè)計模式,UML建模
知道并理解設(shè)計模式中蘊含的幾種基本原則如:里氏替換原則,開閉原則,合成復用原則,依賴倒置原則有很好的理解,并能舉例說明。對常用的設(shè)計模式如工廠模式,單例模式,觀察者模式,責任鏈模式,橋接模式等知道靈活運用,明白什么是回調(diào)(Callback)。最后用一位高人話來總結(jié)設(shè)計模式,它是為了讓軟件更容易被別人讀懂,更容易維護而產(chǎn)生,設(shè)計模式本質(zhì)是程序員之間的交流,如果A用工廠模式設(shè)計一個模塊B來接替,A只要說該模塊是工廠模式實現(xiàn),B維護起來應(yīng)該容易得多,所以設(shè)計模式是關(guān)于交流,不關(guān)于代碼。切忌濫用設(shè)計模式。學會使用UML建模工具至少熟悉一種URL建模工具。
五、自動測試與軟件配置管理(SCM)實現(xiàn)
知道什么是軟件配置管理,知道Hudson-http://java.net/projects/hudson/運用該工具SCM,知道怎么獲取測試代碼覆蓋率,Java有效代碼行數(shù)(NCSS),完成firebug,JDepend等工具集成ant/maven.熟悉并注重在開發(fā)過程中使用JUnit單元測試,理解白盒測試規(guī)范。
六、Java語言學習
對線程(thread),串行化,反射,網(wǎng)絡(luò)編程,JNI技術(shù),容器(Map,List, Iterator),類加載器(ClassLoader),輸入輸出流,垃圾回收機制,有比較深入的了解,最起碼做過項目應(yīng)用。有過Java項目的性能優(yōu)化經(jīng)驗,最起碼掌握一種性能監(jiān)視工具的使用,熟悉JVM參數(shù),最起碼知道可以在JVM啟動時指定不同垃圾回收機制,以及不同垃圾回收機制之間的差別,熟悉JVM參數(shù)優(yōu)化。
七、掌握英語,良好的讀寫能力
英語是計算機的母語,掌握好英語對于閱讀英文資料學習新技術(shù)大有幫助,我的建議是盡量讀英
文原版書,如果是算法方面的可能會困難一點,但是其它像設(shè)計模式,軟件工程,OO編程思想等盡量讀原版,提高自己的英文水平,多多訪問開發(fā)者,code project,程序員天堂,Pc-magazine等英文IT網(wǎng)站。英語絕對是你必須修煉與提高的技能。此外英語好在外資企業(yè)尤其重要,只有外語足夠好才可能在外資企業(yè)中突破職業(yè)瓶頸,向上發(fā)展。
八、養(yǎng)成總結(jié)的習慣,不斷反思
上學的時候老師常讓寫小結(jié),也沒總結(jié)出來所以然,以至于工作以后再也不提這檔子事情,建議每個項目做完以后對自己都有個小結(jié),總結(jié)自己在項目里面學到了什么,反問自己能不能完成在不需要別人幫助的情況下自己完成這樣的系統(tǒng)搭建,是否熟悉與掌握項目中所用到的技術(shù),即使有些東西不是你負責完成的但是什么也不能阻擋一顆求知的心,總結(jié)要盡量詳細記錄你遇到那些難題是怎么一個一個的解決的,下次再遇到你是否可以很快解決或者避免這樣的問題。有總結(jié)才有提高,孔子曰:學而不思則罔,如果我們只是coding到吐血,不思考,不總結(jié)提高,永遠不可能有能有本質(zhì)提高,秦相李斯有云:“泰山不讓土壤,故能成其大,河海不擇細流,故能就其深”,點滴積累不斷總結(jié)方能量變導致質(zhì)變。
九、Java代碼反編譯與代碼保護
Java編譯產(chǎn)生字節(jié)碼,因而可以被輕松的逆向工程(反編譯),微軟的C#生產(chǎn)的DLL也一樣可以被輕松反編譯。正式由于這個原因產(chǎn)生了許多Java開源的代碼保護工具,而Proguard是其中佼佼者,已經(jīng)被google集成在android之中用于Java代碼保護。
十、面向市場,永遠對新技術(shù)保持渴望
計算機技術(shù)的發(fā)展日新月異,做為IT行業(yè)的軟件開發(fā)人員要不斷的給自己充電,更新自己的技術(shù)與時代保持同步,同時還要面向市場,華為總裁任正非說過-“華為的技術(shù)革新必須面向市場”,作為程序員同樣要有市場意識,很多人都后悔沒有在android剛出來的時候加以關(guān)注學習。那些很早關(guān)注android開發(fā)技術(shù)的很多程序員因此獲得豐厚回報。如今HTML5得到越來越多的瀏覽器廠家
支持,你是否已經(jīng)跟上腳步,開始學習。
第五篇:java學習
.如何學習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)系,從而建立分析模型?!窦毣治瞿P偷皆O(shè)計模型?!裼镁唧w的技術(shù)去實現(xiàn)?!駵y試、部署、總結(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)就是這樣的文檔,它可以說是程序員與程序員交流的文檔?;続PI指的是實現(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)變的里程碑。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>
3.1.6 學習軟件工程 對小型項目而言,你可能認為軟件工程沒太大的必要。隨著項目的復雜性越來越高,軟件工程的必要性才會體現(xiàn)出來。參見“軟件開發(fā)學習路線”小節(jié)。
3.2學習要點 確立的學習路線之后,我們還需要總結(jié)一下Java的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,不要嫌我婆婆媽媽啊。
3.2.1勤查API文檔當程序員編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用“Javadoc”工具(包含在JDK中)生成標準的Java DOC文檔,供同行使用。J2SE/J2EE/J2ME的DOC文檔是程序員與程序員交流的工具,幾乎人手一份,除了菜鳥之外。J2SE DOC文檔官方下載地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下載。也可以在線查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。對待DOC文檔要像毛主席語錄,早上起床念一遍,吃飯睡覺前念一遍。當需要某項功能的時候,你應(yīng)該先查相應(yīng)的DOC文檔看看有沒有現(xiàn)成的實現(xiàn),有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現(xiàn)。使用步驟一般如下: ●找特定的包,包一般根據(jù)功能組織?!裾倚枰褂妙?,類命名規(guī)范的話我們由類的名字可猜出一二?!襁x擇構(gòu)造器,大多數(shù)使用類的方式是創(chuàng)建對象。●選擇你需要的方法。
3.2.2 查書/google->寫代碼測試->查看源代碼->請教別人 當我們遇到問題的時候該如何解決?這時候不要急著問別人,太簡單的問題,沒經(jīng)過思考的問題,別人會因此而瞧不起你??梢韵日艺視?,到google中搜一下看看,絕大部分問題基本就解決了。而像“某些類/方法如何使用的問題”,DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。
3.2.3學習開源軟件的設(shè)計思想 Java領(lǐng)域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領(lǐng)會其中的設(shè)計思想,有朝一日說不定你也能寫一個XXX框架什么的,風光一把。分析開源軟件其實是你提高技術(shù)、提高實戰(zhàn)能力的便捷方法。
3.2.4 規(guī)范的重要性 沒有規(guī)矩,不成方圓。這里的規(guī)范有兩層含義。第一層含義是技術(shù)規(guī)范,多到http://004km.cn下載JSRXXX規(guī)范,多讀規(guī)范,這是最權(quán)威準確最新的教材。第二層含義是編程規(guī)范,如果你使用了大量的獨特算法,富有個性的變量及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多么的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規(guī)范到此查看或下載http://Java.sun.com/docs/codeconv/,中文的也有,啊,還要問我在哪,請參考3.2.2節(jié)。
3.2.5 不局限于Java 很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑郁癥。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心愿。Java不要孤立地去學習,需要綜合學習數(shù)據(jù)結(jié)構(gòu)、OOP、軟件工程、UML、網(wǎng)絡(luò)編程、數(shù)據(jù)庫技術(shù)等知識,用橫向縱向的比較聯(lián)想的方式去學習會更有效。如學習Java集合的時候找數(shù)據(jù)結(jié)構(gòu)的書看看;學JDBC的時候復習數(shù)據(jù)庫技術(shù);采取的依然是“需要的時候再學”的原則。
4.結(jié)束語需要強調(diào)的是,學習軟件開發(fā)確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎么聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最后奉勸各位程序員尤其是MM程序員,完成工作后趕快遠離電腦,據(jù)《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比……