如何系統(tǒng)的學習java有哪些方法
如何系統(tǒng)的學習java有哪些方法
太多人說JAVA不好學那是因為不明確如何學習Java。為了幫助大家更好的學習java,以下是學習啦小編分享給大家的學習java的方法,希望可以幫到你!
學習java的方法
第一:必須有一個老師給自己講解,帶著學習,這樣首先是可以少走很多的彎路,不至于一個小小的問題,就困擾了一天的時間,可能明白人的一句話你就明白,但是自己想可能需要一天的時間,或許最后還是搞不懂。
第二:需要有一個明確而且系統(tǒng)的學習規(guī)劃,比如你今天學習什么內(nèi)容,而且今天學習的內(nèi)容跟著什么案例練習,如果你學習JAVA只是看看免費的視頻,那我勸你還是不要浪費時間,必須跟著大量的案例,反正練習,對于一個知識點才可以真正的掌握。
第三:一個明確的學習路線圖,這個我給大家參考一下下面的圖片,分為三個大階段,每一個階段有相應的學習時間,我給大家的建議是學習半年的時間,根據(jù)我將近十年對于這樣行業(yè)的了解來看,半年的學習時間恰到好處,不多不少。對于JAVA的每一個階段的知識點都可以掌握的不錯。
第四:要不斷的復習前面所學到的東西,比如在最開始的學習HTML+CSS,但是可能由于長時間的不練習,等你學到最后的時候就要忘記。子曰:溫故而知新。
第五:無論是啥東西,比如我們學習JAVA,為啥要學習JAVA非常重要,比如說我學習JAVA就是為了高薪,或者說我學習JAVA就是為了三年之后可以升級到項目主管,5年干到架構師,這點非常重要,也就是我們常說的,也是沒有幾個人能做到的:目標感。
學習java的技巧
1. 同步和異步
同步異步是來形容方法的一次調(diào)用的,同步必須等等方法調(diào)用結束后才可以繼續(xù)后續(xù)的操作,而異步方法調(diào)用就會返回(真正的執(zhí)行一般在另外一個線程中)就可以繼續(xù)后續(xù)操作了。
2. 并發(fā)和并行
這兩個概念都是表示2個或者多個任務一起執(zhí)行,而并發(fā)側重的是多任務交替執(zhí)行,就是一個時間點就只有一個任務(時間碎片很小),而并行是真正意義的同時執(zhí)行(某個時間碎片有大于1個任務在執(zhí)行)。
3. 臨界區(qū)
臨界區(qū)這個概念非常重要,就是多個線程都會操作到的,是一個公共資源或者共享的數(shù)據(jù),但是每次操作只能一個線程使用而一旦臨界區(qū)資源被占用其他的線程必須等待該資源的釋放,在并行程序中,臨界區(qū)資源都是受保護的,如果不保護就會出現(xiàn)問題,達不到預期的效果。
4. 阻塞和非阻塞
阻塞和非阻塞是形容多個線程之間的相互影響的(前提是多個線程而不是一個),一個線程占用了臨界區(qū)資源那么其他線程必須在臨界區(qū)之外等待,阻塞是操作系統(tǒng)層面掛起,上下文切換了,所以性能不高。阻塞如果一個線程一直占用不釋放資源,那么其他需要該臨界區(qū)資源都必須一直等。非阻塞就是運行多個線程同時進入臨界區(qū),只要保證不把數(shù)據(jù)修改壞就行。
學習java的建議
1、思考一下
學習Java之前,先別急,靜下心來好好想想:
1)你對學習Java是否有興趣?
2)你是否能靜下心來堅持不懈地學習?
嗯,這是個容易但又絕對不應該忽略的問題,你確信自己對Java感興趣、而且又有吃苦的準備,那你才可能學好Java!如果具備這兩點條件,就請繼續(xù)往下看……
2、準備一下
請不要把你的學習Java之路和其它計算機技術分開看待,技術的聯(lián)系往往是千絲萬縷的,你應該掌握一些學習Java所涉及的基礎知識,對于 “CLASSPATH要怎么設置啊”、“跪求JDK下載地址”等等問題,你不該問,因為Internet上太多答案了,甚至換個角度說,你是不是還不適合直接學習編程?
1)買本Java學習用書。
JDK 6正式版剛剛推出,市面上你暫時買不到JDK 6的書籍,但我仍推薦你買一本適合入門的、較新JDK版本的Java書籍,那么,你現(xiàn)在選擇一本講述JDK 5的入門書籍還是有條件的。我可以推薦一些入門書,但是我不打算這么做,因為合我口味的,不一定適合你。但無論如何,《Thing In Java》絕對不應該作為你入門Java的第一本書籍!
記住,網(wǎng)絡上學習Java的資源很多,但基本不夠系統(tǒng),擁有一本Java入門書籍,是你系統(tǒng)學習Java的基礎。
2)準備Java學習環(huán)境。
準備你的學習環(huán)境,很簡單,安裝JDK 6,然后用類似UltraEdit、EditPlus的文本編輯器配置你的學習環(huán)境,Internet上有很多關于如何配置的文章。初學Java,不建議用IDE工具,通過一行行的敲代碼,你會碰到很多問題,只有這樣,你才能學會怎樣解決問題,并加深自己對Java的理解。
準備好后,開始進入激動人心的Java學習里程吧!
3、Java基礎學習之路
學習Java的過程雖然辛苦些,但又是處處有精彩!學習過程中的心態(tài)一定要保持專一,網(wǎng)上關于語言間的“PK”到處都是,別被浮躁影響!認準了Java,你就堅持!克服心魔,恒心最終會給你回報的。
Java的體系分為Java SE、Java EE和Java ME(JDK 5.0以前分別叫J2SE、J2EE和J2ME),Java的敲門磚就是Java SE了,也就是你要入門學習的內(nèi)容,不論你日后是選擇哪個體系領域作為發(fā)展方向,你都得從Java SE起步。
學習Java SE,打好Java基礎;如果想學Java EE(對不起,我不了解Java ME,所以我無法涉及Java ME的相關內(nèi)容),對于AWT、Swing是否要學習呢,我個人是覺得還是要知道其所以然的,特別是其事件處理模式,我強烈建議初學者一定要弄清楚,其他具體的開發(fā)就不一定要全面掌握了,畢竟AWT、Swing方面的內(nèi)容足夠用幾本大部頭的書才能描述詳盡;當然,如果你的工作就是做 AWT、Swing開發(fā),那就另當別論了。
4、 Java EE學習之路
學習了Java SE,還只是完成“萬里長征”的第一步。
接下來選擇學習Java EE或是Java ME(或者你還想不斷深入學習Java SE,只要你喜歡,你可以一直深入下去,就像前面所說的,我不會講到Java ME的學習);估計選擇Java EE方面的學習者會多一些,Java EE所涉及技術非常多,考慮到初學者的接受程度,我會盡量從最常用的角度來介紹。
學習Java EE,在開發(fā)環(huán)境上不建議再用文本編輯器,我感覺NetBeans 5.5(目前最高正式版本)很適合初學者,我個人也很喜歡NetBeans,如果你喜歡用別的IDE如Eclipse,都沒問題,看自己喜歡吧。
4.1 學習JSP/Servlet
Java EE最高版本目前是5.0版本。
在Java EE中,首先要學習JSP/Servlet(結合Tomcat、MySQL)技術,建議JSP1.2/2.X的知識都要掌握,畢竟現(xiàn)在很多的在用系統(tǒng)都還是基于JSP1.2,學習JSP,還必須掌握一些外延技術,如:你還得掌握HTML基礎知識,最好再掌握些JavaScript(目前正火的AJAX技術之一)、CSS的技術,而了解XML是必不可少的(至少描述性配置信息是通過XML來描述的)。在學習JSP/Servlet過程中,應該結合學習 JDBC、數(shù)據(jù)庫開發(fā)技術,畢竟絕大多數(shù)Java Web項目都是和數(shù)據(jù)庫緊密結合的。
4.2 學習數(shù)據(jù)庫開發(fā)技術
這里我想重點說一下數(shù)據(jù)庫開發(fā)技術,數(shù)據(jù)庫技術是做業(yè)務系統(tǒng)必備技能,Java Web開發(fā)人員最低程度都應該掌握SQL語句的使用!數(shù)據(jù)庫技術大體可分為DBA技術和數(shù)據(jù)庫開發(fā)技術,對于開發(fā)而言,應側重數(shù)據(jù)庫開發(fā)技術,而數(shù)據(jù)庫基本操作,也是要掌握的。常用數(shù)據(jù)庫有DB2、Oracle、SQL Server、MySQL等,你可以結合實際需要,選擇一種數(shù)據(jù)庫,并花大力氣掌握其開發(fā)技術。
記住,學習數(shù)據(jù)庫開發(fā)技術和學習Java EE,是相對獨立的,你可以在學習JSP/Servlet的同時,學習數(shù)據(jù)庫開發(fā)技術(如SQL語句等),或者先學數(shù)據(jù)庫開發(fā)技術,之后再學習JSP/Servlet。
4.3 學習Java EE其它開發(fā)技術
再往后,可以學習一些EJB的知識,目前EJB最新版本是3.0,其和前面的2.X版本相比,有較大不同,考慮到目前EJB 2.X還有很大的應用市場,建議結合學習EJB 2.X/3.0。在學習EJB過程中,應同時掌握一種企業(yè)級應用服務器的使用(如 WebSphere、Weblogic、Sun Applcation Server或JBOSS等,目前Sun Applcation Server 9.X和JBOSS都可支持EJB 3.0)。
之后的學習中,再逐漸擴展到其他Java EE技術。
5、之后
等你對Java EE有些感悟的時候,你自然就會想不斷擴展你的知識面,這時候你可以學習Spring、Hibernate,以及各種Web框架(如Struts、JSF、Webwork或是Tapestry等)。
隨著技術、經(jīng)驗的不斷積累,你會逐步關注分析、設計等更高層次的知識,這時候,你可進一步學習相關的UML、模式等知識(積累了一定經(jīng)驗,你就可以安排自己學習這些知識了)。
猜你喜歡: