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