第一篇:java學習
.如何學習Java?
3.1 Java學習路線
3.1.1 基礎語法及Java原理基礎語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎,你才能在J2EE、J2ME領域游刃有余。參加SCJP(SUN公司認證的Java程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉Java基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟件公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得“真正”的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。
3.1.2 OO思想的領悟掌握了基礎語法和Java程序運行原理后,我們就可以用Java語言實現面向對象的思想了。面向對象,是一種方法學;是獨立于語言之外的編程思想;是 CBD基于組件開發的基礎;屬于強勢技術之一。當以后因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向對象的思想進行開發的基本過程是: ●調查收集需求。●建立用例模型。
●從用例模型中識別分析類及類與類之間的靜態動態關系,從而建立分析模型。●細化分析模型到設計模型。●用具體的技術去實現。●測試、部署、總結。
3.1.3 基本API的學習進行軟件開發的時候,并不是什么功能都需要我們去實現,也就是經典名言所說的“不需要重新發明輪子”。我們可以利用現成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那么這些類中究竟提供了哪些方法給我們使用?方法的參數個數及類型是?類的構造器需不需要參數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,Java DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。基本API指的是實現了一些底層功能的類,通用性較強的API,如字符串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查Java DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
3.1.4 特定API的學習Java介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發,那么你需要學習Swing/AWT/SWT等API;如果你進行網絡游戲開發,你需要深入了解網絡API/多媒體API/2D3D等;如果你做WEB開發,就需要熟 悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。
3.1.5 開發工具的用法在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急于上手JBuilder/Eclipse等集成開發環境,以免過于關注IDE的強大功能而分散對Java技術本身的注意力。過了這一階段你就可以開始熟悉 IDE了。程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發變得更輕松。應該說IDE發展的趨勢就是集成軟件開發中要用到的幾乎所有工具。從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程序員轉變的里程碑。Java開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder 占有的市場份額是最大的。JBuilder在近幾年來一直是Java集成開發環境中的霸主,它是由備受程序員尊敬的Borland公司開發,在硝煙彌漫的 Java IDE大戰中,以其快速的版本更新擊敗IBM的Visual Age for Java等而成就一番偉業。IBM在Visual Age for Java上已經無利可圖之下,干脆將之貢獻給開源社區,成為Eclipse的前身,真所謂“柳暗花明又一村”。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發展潛力。
3.1.6 學習軟件工程 對小型項目而言,你可能認為軟件工程沒太大的必要。隨著項目的復雜性越來越高,軟件工程的必要性才會體現出來。參見“軟件開發學習路線”小節。
3.2學習要點 確立的學習路線之后,我們還需要總結一下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文檔要像毛主席語錄,早上起床念一遍,吃飯睡覺前念一遍。當需要某項功能的時候,你應該先查相應的DOC文檔看看有沒有現成的實現,有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現。使用步驟一般如下: ●找特定的包,包一般根據功能組織。●找需要使用類,類命名規范的話我們由類的名字可猜出一二。●選擇構造器,大多數使用類的方式是創建對象。●選擇你需要的方法。
3.2.2 查書/google->寫代碼測試->查看源代碼->請教別人 當我們遇到問題的時候該如何解決?這時候不要急著問別人,太簡單的問題,沒經過思考的問題,別人會因此而瞧不起你。可以先找找書,到google中搜一下看看,絕大部分問題基本就解決了。而像“某些類/方法如何使用的問題”,DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。
3.2.3學習開源軟件的設計思想 Java領域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什么的,風光一把。分析開源軟件其實是你提高技術、提高實戰能力的便捷方法。
3.2.4 規范的重要性 沒有規矩,不成方圓。這里的規范有兩層含義。第一層含義是技術規范,多到http://www.tmdps.cn下載JSRXXX規范,多讀規范,這是最權威準確最新的教材。第二層含義是編程規范,如果你使用了大量的獨特算法,富有個性的變量及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多么的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規范到此查看或下載http://Java.sun.com/docs/codeconv/,中文的也有,啊,還要問我在哪,請參考3.2.2節。
3.2.5 不局限于Java 很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑郁癥。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心愿。Java不要孤立地去學習,需要綜合學習數據結構、OOP、軟件工程、UML、網絡編程、數據庫技術等知識,用橫向縱向的比較聯想的方式去學習會更有效。如學習Java集合的時候找數據結構的書看看;學JDBC的時候復習數據庫技術;采取的依然是“需要的時候再學”的原則。
4.結束語需要強調的是,學習軟件開發確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎么聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最后奉勸各位程序員尤其是MM程序員,完成工作后趕快遠離電腦,據《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比……
第二篇:JAVA學習
買本《java瘋狂講義》 或者 在網上下載下來看看主要看java語法部分和面向對象編程部分這些要速度過 接下來開始寫一些小例子 從例子里面學習會更快例子差不多了就開始web方面的涉獵,先學struts->jsp->servlet->hibernate->spring學習javascript
第三篇:如何深入學習java
在開發領域的技術人員,只有不斷地充電提高才能夠讓自己始終處于不敗之地。技術日新月異,推陳出新,讓技術人員目不暇接。我們都知道,java技術是目前最流行的編程語言,java入門很難簡單,可是要想成為高手,拿到更高的工資,還需要深入學習,那么如何深入學習java?
Oracle的Java EE 6提供了三大新技術和更多豐富組件和強勁的特色功能,很先進、實用,并且容易掌握,絕對值得java程序員等技術人員深入學習,全面提升自身的核心競爭力。
Java EE 6的第一大新技術就是支持JAX-RS(JSR 311),JAX-RS是RESTful Web Services Java API的簡寫,Java EE 6包含了它的最新1.1版本,它可以讓程序員迅速構建遵循REST(Representational State Transfer,表象化狀態轉變)風格軟件架構的輕量級Web服務,它對于每個資源都使用全局引用標識符URI,并擁有直接通過HTTP傳輸數據的能力,可以使用標準的固定動詞—GET,PUT,POST和DELETE等來操作這些資源。同時,JAX-RS為在Java中構建RESTful Web服務提供了標準化API,API還提供了注解、相關的類和接口,這使得在Java中創建RESTful Web服務變得簡單。
Java EE 6的第二大新技術是它可以支持面向Java EE平臺的上下文和依賴性注入-CDI(JSR 299),CDI是Context and Dependency Injection的簡寫,它是Java EE平臺的Web層和企業層之間的一座橋梁。通過CDI,不僅可以讓企業層通過諸如EJB和JPA等技術,對事務性資源提供強有力的支持。同時,通過CDI,使得Web層也能夠支持事務,這樣在Web應用程序中訪問事務資源就更容易了。
支持Bean驗證(JSR 303)是Java EE 6的第三大新技術,Bean驗證提供了一個遵循JavaBean規范編寫的Java類,它提供了標準驗證框架,并可在應用程序的所有層之間共享,簡化了驗證,減少重復、錯誤和凌亂。
以上三種技術,就是深入學習java必備的,當然,強大的java不只這些,需要學習的還有很多,同時也需要連續的練習,這樣才能成為真正的java高手。如何深入學習java
長沙java培訓http:///
第四篇:Java學習路線
怎么學習Java,這是很多新手經常會問我的問題,現在我簡單描述下一個Java初學者到就業要學到的一些東西:
首先要明白Java體系設計到得三個方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我們經常說到的JDK,就主要指的這個,它是三者的基礎,屬于桌面級應用開發,這部分如果學得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業級Java,適合企業的大型應用開發。
J2SE:
新手最初學習的時候先要從J2SE開始學起,所包含的內容主要分為:面向對象概念的理解、Java基本語法的學習,Java桌面圖形界面應用程序的開發,掌握常用的Java API等(關鍵是要學會怎樣查閱)。
重點:Java基本語法(循環結構,數據類型,數組,運算符等)、Swing,awt,事件機制、文件輸入輸出流處理等
難點:面向對象思想的理解(接口、類等)、線程、socket網絡編程等
視頻教程推薦:孫鑫的Java基礎視頻教程、張孝祥的Java基礎視頻教程,講的都很細,而且這兩位老師在教學方面都有很好的經驗。
J2EE:
在學習了J2SE之后,你可以嘗試著慢慢過渡到J2EE,當然,學習J2EE海需要很多非JAVA技術的支撐,比如數據庫技術,網頁編程技術等等,待會我會詳細介紹這兩方面的內容。J2EE有三個必學的框架,如果你說你學了J2EE,但又不會這三個框架的話,那會讓人笑掉大牙,這三個框架分別是Struts、Spring和Hibernate,雖然這三個框架應用很廣,但不代表這三個框架就代表了J2EE,J2EE還有很多其他的東西,比如EJB,作為一款重量級(此重量級不是指重量級選手那個意思,此重量級非彼重量級)框架,雖然這個應用慢慢的再被其他框架所取代,但EJB3.0的出現也給它帶回一些生機,作為一個分布式應用的框架,也是大家要去學習和了解的知識。
當然,剛才說到J2EE包含的范圍很廣,即使我把我所了解的所有技術說出來,也并不能代表J2EE,這是一個很深很廣的學問,需要大家以后再工作的時候慢慢去發現了。我所了解的還包括:
JDBC:Java數據庫連接對象,基礎中的基礎,Hibernate也只是對它的封裝而已 JNDI: Java 命名與目錄接口,J2EE重要規范之一 EJBS: 上面已經提到過了
RMI: 提供遠程調用方法的支持,主要用于程序分布式開發 JMS: Java消息服務,中間件技術
JAVA IDL: 提供J2EE平臺與CORBA交互能力和互聯能力的技術 JTS: 組件事務監視器 JTA: 事務劃分的一個技術 JAVAMAIL: Java中的郵件技術 JAF: Java啟動框架,沒研究過 Log4j,一款日志處理的框架應用
Junit:單元測試的好幫手
freemarker、velocity:兩款不錯的模板引擎
與Flash的交互Flex:目前很多的SNS應用就是使用到了這個技術
Web services:想知道我們論壇天氣預報的效果是怎么做的嗎?請關注這個技術 SOA:面向服務架構,未來技術發展的趨勢之一 ……
不過前面介紹到得這些都不是J2EE的基礎,是屬于框架應用級別的.要真正把上面說到的知識掌握好,還是的學習J2EE最核心的東西:JDBC、JSP、servlet和JavaBean,后面三個也是學習SSH的基礎(StrutsSpringHibernate的簡稱).鑒于J2EE的內容太過復雜,建議大家最初只學習: JSP, servlet和JavaBean,等這個基礎掌握好再把SSH學習了,再對其他J2EE技術有個大致的了解就可以出去找工作了。當然,找工作的前提除了把Java學習好,還會有一些其他的技術也是必須要掌握的。數據庫技術:
數據庫幾乎是程序中不可或缺的一部分,在整個軟件開發中更是占據了重要作用.數據庫在整個軟件中扮演的是地基的角色,你要修房子,就要先打好地基,你要做軟件,就要先設計好的數據庫.目前數據庫幾乎都是關系型數據庫,代表的有: SQL Server,目前最新的好像是2008,我不是很喜歡追趕時髦,用的還是2005,不過也很不錯了,在此之前還有2000.MySQL,最知名的開源數據庫之一,我很喜歡它的小巧耐用,學過SQL SERVER數據庫再學它,無師自通,易如反掌.ORACLE.甲骨文公司的產品,大型數據庫,正版的一般公司買不起.只有看看了,不過現在Java開發60%都是會使用到這個數據庫,再加上現在甲骨文已經把sun公司收購了,JAVA和ORACLE得關系更加曖昧,各位得多花些時間在這上面了.除了這些,你還應該了解一些桌面應用軟件開發用到的數據庫,比如說sqlite。你在制作安裝程序的時候可以把這個數據庫打包進你的安裝程序。
網頁編程基礎:
網頁編程基礎要學的內容也比較多,但主要集中在以下這三個技術之上,大家每天看的各種樣式的網頁都是它們呈現的: HTML:超文本標記語言 CSS:層疊樣式表
Javascript:瀏覽器客戶端腳本語言
現在更是流行各種JavaScript庫,比如:Jquery、ExtJs等,你要是會其中的某一個庫的使用,找工作so easy。
J2ME:
如果你在學習了以上技術還不過癮,可以再學習手機程序的開發,就我個人看來,開發手機程序技術其實蠻簡單的,難點在于優化,比如怎么讓你寫的程序盡量的節約手機資源,“代碼誠可貴,手機價更高“,所以不得不比PC機多考慮很多成本和實用性問題。J2ME的學習的話,切忌不要單純的再模擬器上測試,一定要找真機測試,真機和模擬器的效果之間差別是很大的。更多手機開發技術,有興趣的朋友可以和我一起探討。
開發工具:
開發工具的選擇主要還是看大家的習慣,我個人比較喜歡使用eclispe,功能很強大,也很好拓展其他的功能。當讓初學你也可以選擇JCreator,或者最好就直接用記事本。等你熟悉了Java代碼之后,就可以使用JBuilder、eclispe或者netbeans這一類的工具了。
先說到這里先,以后大家一起完善這個帖子。盡量再給大家整理一些學習的資源在這里。也歡迎大家一起整理我文章中提到的一些技術資源和開發工具。最后,再和大家分享一句話:生命欣欣向榮,唯奮斗不息。也和大家分享一幅Java學習路線圖:
第五篇:java 學習線路
怎么學習Java,這是很多新手經常會問我的問題,現在我簡單描述下一個Java初學者到就業要學到的一些東西:
首先要明白Java體系設計到得三個方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我們經常說到的JDK,就主要指的這個,它是三者的基礎,屬于桌面級應用開發,這部分如果學得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業級Java,適合企業的大型應用開發。
J2SE:
新手最初學習的時候先要從J2SE開始學起,所包含的內容主要分為:面向對象概念的理解、Java基本語法的學習,Java桌面圖形界面應用程序的開發,掌握常用的Java API等(關鍵是要學會怎樣查閱)。
重點:Java基本語法(循環結構,數據類型,數組,運算符等)、Swing,awt,事件機制、文件輸入輸出流處理等
難點:面向對象思想的理解(接口、類等)、線程、socket網絡編程等
視頻教程推薦:孫鑫的Java基礎視頻教程、張孝祥的Java基礎視頻教程,講的都很細,而且這兩位老師在教學方面都有很好的經驗。
J2EE:
在學習了J2SE之后,你可以嘗試著慢慢過渡到J2EE,當然,學習J2EE海需要很多非JAVA技術的支撐,比如數據庫技術,網頁編程技術等等,待會我 會詳細介紹這兩方面的內容。J2EE有三個必學的框架,如果你說你學了J2EE,但又不會這三個框架的話,那會讓人笑掉大牙,這三個框架分別是 Struts、Spring和Hibernate,雖然這三個框架應用很廣,但不代表這三個框架就代表了J2EE,J2EE還有很多其他的東西,比如 EJB,作為一款重量級(此重量級不是指重量級選手那個意思,此重量級非彼重量級)框架,雖然這個應用慢慢的再被其他框架所取代,但EJB3.0的出現也 給它帶回一些生機,作為一個分布式應用的框架,也是大家要去學習和了解的知識。
當然,剛才說到J2EE包含的范圍很廣,即使我把我所了解的所有技術說出來,也并不能代表J2EE,這是一個很深很廣的學問,需要大家以后再工作的時候慢慢去發現了。我所了解的還包括:
JDBC:Java數據庫連接對象,基礎中的基礎,Hibernate也只是對它的封裝而已 JNDI: Java 命名與目錄接口,J2EE重要規范之一 EJBS: 上面已經提到過了
RMI: 提供遠程調用方法的支持,主要用于程序分布式開發 JMS: Java消息服務,中間件技術
JAVA IDL: 提供J2EE平臺與CORBA交互能力和互聯能力的技術 JTS: 組件事務監視器
JTA: 事務劃分的一個技術 JAVAMAIL: Java中的郵件技術 JAF: Java啟動框架,沒研究過 Log4j,一款日志處理的框架應用 Junit:單元測試的好幫手
freemarker、velocity:兩款不錯的模板引擎
與Flash的交互Flex:目前很多的SNS應用就是使用到了這個技術
Web services:想知道我們論壇天氣預報的效果是怎么做的嗎?請關注這個技術 SOA:面向服務架構,未來技術發展的趨勢之一 ……
不過前面介紹到得這些都不是J2EE的基礎,是屬于框架應用級別的.要真正把上面說到的知識掌握好,還是的學習J2EE最核心的東西:JDBC、JSP、servlet和JavaBean,后面三個也是學習SSH的基礎(StrutsSpringHibernate的簡稱).鑒于J2EE的內容太過復 雜,建議大家最初只學習: JSP, servlet和JavaBean,等這個基礎掌握好再把SSH學習了,再對其他J2EE技術有個大致的了解就可以出去找工作了。當然,找工作的前提除了 把Java學習好,還會有一些其他的技術也是必須要掌握的。
本人今年畢業,在去年的時候,就在北京軟件公司工作。簡單介紹一下學習經驗:
1、從大三開始全心學習Java
2、先是學習JAVA基礎,對于Java的學習,感覺一點非常重要,就是對于Java的入門,Java不入門,你會感覺很難,但是一旦入門,你將會感覺很簡單,只不過,很多都沒有學習而已,自己可以多花時間進行學習。所以Java基礎部門是學習Java的重點。
3、學習完Java的語法,開始學習j2EE
4、接著學習Javaweb部門,懂的如何制作web工程,這部分要學習的包括Html,JSP都是基本要學習的。
5、此時就開始接觸一些簡單的數據庫。
6、這些都完畢之后,就是學習一些簡單的框架,像經典的SSH等等。
總之,學習Java不要圖快,把Java的基礎學習好,同時學習到一定基礎的時候,推薦看一下Thinking in Java,只要你能夠理解Java的編程思想,你會很快的入門,一旦入了門。你就知道如何去學習,就是你自己豐富自己了。就不需要別人帶了,非常期望你也能起來,呵呵。。
首先是JAVA基礎JAVA SE 之后是JAVA EE,先學習Servlet、JSP,然后再學習Struts、Hibernate、Spring等框架。JAVA SE是JAVA EE的基礎,Servlet、JSP是框架的基礎。
還有數據庫,個人建議學習oracle,當然其它的像MySQL,MS SQL,都可以,只要會一個,再學其它的就會發現很類似。
另外就是html,css,javascript,xml,這些是JAVA WEB編程要用到的。
建議學習順序:
1、html,css,javascript,xml
2、JAVA SE
3、JAVA EE,包括Servlet、JSP、框架 至于數據庫的學習,在JAVA之前,之中,之后都可以,建議在JAVA之前,至少在JAVA EE之前。
推薦資料:
尚學堂JAVA視頻,其中較為推薦馬士兵的,在verycd上很容易就能搜到; 孫衛琴的《JAVA面向對象編程》,很不錯的一本書,可以用來入門; Bruce Eckel的《Thinking in Java》,可以用來當作參考資料。