新手如何學習Java——Java學習路線圖

茶花盛開發表於2017-06-12

怎麼學習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可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。

重點: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學習好,還會有一些其他的技術也是必須要掌握的。

-_- 我很簡單,Java卻要求我學這麼多複雜的東西。除了這些技術的東西,在這階段,大家更多的是會接觸到比如設計模式的東西,比如工廠模式、橋樑模式、單例模式等等,還要學習建模思想(比如UML建模等等)和軟體生命週期等等。這些是昇華大家程式設計思想的手段和途徑。

資料庫技術:

資料庫幾乎是程式中不可或缺的一部分,在整個軟體開發中更是佔據了重要作用.資料庫在整個軟體中扮演的是地基的角色,你要修房子,就要先打好地基,你要做軟體,就要先設計好的資料庫.目前資料庫幾乎都是關係型資料庫,代表的有: SQL Server/MySQL—不建議學這個沒有多大意義。

Oracle.甲骨文公司的產品,大型資料庫,正版的一般公司買不起.只有看看了,不過現在Java開發60%都是會使用到這個資料庫,再加上現在甲骨文已經把sun公司收購了,JAVA和oracle得關係更加曖昧,各位得多花些時間在這上面了.

除了這些,你還應該瞭解一些桌面應用軟體開發用到的資料庫,比如說sqlite。你在製作安裝程式的時候可以把這個資料庫打包進你的安裝程式。

網頁程式設計基礎:

網頁程式設計基礎要學的內容也比較多,但主要集中在以下這三個技術之上,大家每天看的各種樣式的網頁都是它們呈現的:

HTML:超文字標記語言

CSS:層疊樣式表

JavaScript:瀏覽器客戶端指令碼語言

現在更是流行各種javascript庫,比如:jQuery、ExtJs等,你要是會其中的某一個庫的使用,找工作so easy。

J2ME:

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

開發工具:

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

先說到這裡先,以後大家一起完善這個帖子。儘量再給大家整理一些學習的資源在這裡。也歡迎大家一起整理我文章中提到的一些技術資源和開發工具。最後,再和大家分享一句話:生命欣欣向榮,唯奮鬥不息。


相關文章