21世紀(jì)進(jìn)入信息時(shí)代懂鸵,信息科技給人類(lèi)的生產(chǎn)和生活方式帶來(lái)了深刻的變革,信息產(chǎn)業(yè)已成為推動(dòng)國(guó)家經(jīng)濟(jì)發(fā)展的主導(dǎo)產(chǎn)業(yè)之一,Java作為含金量極高的一門(mén)IT技術(shù)灼卢,也是目前最為流行的語(yǔ)言很多人希望從事這個(gè)行業(yè)炎咖,那么想學(xué)好Java赃泡,要怎么學(xué)?這可能是任何一個(gè)剛接觸到Java語(yǔ)言的人都會(huì)問(wèn)到的一個(gè)問(wèn)題。
想學(xué)Java的朋友都說(shuō)升熊,進(jìn)入IT行業(yè)是一件很困難的事情。雖然他們普遍認(rèn)為這門(mén)專(zhuān)業(yè)很有發(fā)展前景绸栅,但是卻很高深级野,因而望而卻步,也有些學(xué)生學(xué)了一段時(shí)間粹胯,總感覺(jué)沒(méi)有思路蓖柔,寫(xiě)不出東西,包括很多計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生也放棄了风纠。
一 ? ??剛開(kāi)始况鸣,我們都對(duì)學(xué)習(xí)滿(mǎn)懷激情,可是過(guò)不了多久竹观,你就可能因?yàn)閷W(xué)習(xí)有難度镐捧,就要像放棄了潜索。其實(shí)無(wú)論學(xué)什么,關(guān)鍵是要找對(duì)方法懂酱,這樣才能在學(xué)習(xí)的過(guò)程中找出樂(lè)趣竹习,才會(huì)有想要學(xué)下去的動(dòng)力。怎樣才能學(xué)好Java呢?學(xué)Java需要什么技巧呢?
1興趣是學(xué)習(xí)的最好老師
其實(shí)最大的困難是在于克服自己玩焰。只要你有恒心由驹,學(xué)好Java并不難。就算你沒(méi)有基礎(chǔ)昔园,沒(méi)有經(jīng)驗(yàn)蔓榄,沒(méi)有任何概念∧眨可是即使是發(fā)明Java的人甥郑,發(fā)明計(jì)算機(jī)的人在起初也是一張白紙。
他們也是不斷琢磨荤西,不斷學(xué)習(xí)和實(shí)踐才出結(jié)果的澜搅。所有的Java高手都是從什么也不會(huì)學(xué)到什么都會(huì)的。興趣很重要邪锌,只要你有興趣勉躺,就會(huì)發(fā)現(xiàn)學(xué)習(xí)Java和打籃球一樣簡(jiǎn)單。
2樹(shù)立學(xué)習(xí)的信心
很多初高中生認(rèn)為自己學(xué)不會(huì)編程觅丰,學(xué)不會(huì)Java饵溅。其實(shí)Java學(xué)習(xí)不同于一般的知識(shí)性的學(xué)習(xí),它更側(cè)重于技能妇萄。學(xué)IT技術(shù)一定要多練蜕企、多寫(xiě),能吃苦才行冠句。畢竟第一次接觸要比學(xué)計(jì)算機(jī)專(zhuān)業(yè)的人肯定理解的慢一些轻掩,但是反復(fù)的多看幾遍,多寫(xiě)幾次懦底,也就好了唇牧,所謂的熟能生巧嘛!
3掌握好的方法
掌握好的學(xué)習(xí)方法,就是事半功倍的效果聚唐。很多同學(xué)在寫(xiě)代碼的時(shí)候丐重,都是照葫畫(huà)瓢,沒(méi)有自己半點(diǎn)的理解拱层,往往是把從書(shū)上背下來(lái)的再全堆上去弥臼。這樣寫(xiě)著寫(xiě)著就沒(méi)有了思路宴咧,這是缺少編程思想的原因根灯。所以說(shuō),理解最重要。一旦建立起編程思想烙肺,有了自己的想法纳猪,寫(xiě)東西自然就會(huì)容易多了!
4堅(jiān)持到底
Java剛開(kāi)始的時(shí)候相對(duì)還是簡(jiǎn)單一些,大家都還有學(xué)習(xí)的積極性桃笙。越到后面越難氏堤,很多人開(kāi)始打退堂鼓,甚至產(chǎn)生想要放棄的念頭搏明。這和爬山是一個(gè)道理鼠锈,你都快到山頂了,肯定是走不動(dòng)了星著,但是如果再堅(jiān)持一下下购笆,就會(huì)看到勝利的日出了。
如果你感覺(jué)到學(xué)Java有些吃力虚循,但是對(duì)Java語(yǔ)言有非常喜愛(ài)的話(huà)同欠,可以試試培訓(xùn)。這個(gè)還是能快速提升自己的技術(shù)的横缔,不過(guò)老師領(lǐng)進(jìn)們修行靠個(gè)人
二 ? ? 或許大家說(shuō)這一些都太老套铺遂,根本不夠具體,我想說(shuō)每個(gè)人的環(huán)境不同方法也就不同茎刚,我說(shuō)一下我的學(xué)習(xí)方法
1明確面向?qū)ο蟮姆懂?/b>
我們必須明確一個(gè)大方向襟锐,也就是說(shuō)現(xiàn)在面向?qū)ο蟮木幊谭懂牎1M管人工智能曾經(jīng)有所浪潮(看看Borland為什么有Turbo Prolog)斗蒋,但未來(lái)5-10年工業(yè)界廣泛承認(rèn)并接受的將是面向?qū)ο笫降木幊贪聘ava至少5到10年是不會(huì)淘汰的
工業(yè)界目前最流行的面向?qū)ο缶幊陶Z(yǔ)言就是C++和Java。所以基本上鎖定這兩個(gè)方向就可以了泉沾。而且完全可以同時(shí)掌握捞蚂。
2掌握J(rèn)ava的精華特性
掌握J(rèn)ava的精華特性的同時(shí),一定要知道為什么跷究。比如姓迅,Interface和multi-thread。用interface是更好的多繼承的模型俊马,而多線(xiàn)程則是設(shè)計(jì)到語(yǔ)言一級(jí)的重要特性丁存。要完全理解interface是為什么,用多線(xiàn)程又有幾種常用的編程模型柴我。
3開(kāi)始進(jìn)行設(shè)計(jì)
理解了語(yǔ)言的特性是為什么了之后解寝,就可以試著上升到設(shè)計(jì)這個(gè)層次,畢竟學(xué)習(xí)語(yǔ)言是要用的艘儒。目前比較好的開(kāi)發(fā)模式是采用自定向下的面向?qū)ο蟮脑O(shè)計(jì)聋伦,加上MVC的模式(你可以看一下我介紹的關(guān)于MVC的內(nèi)容)夫偶。首先要找出最頂層的對(duì)象(這往往是最難的),然后一層一層往下遞歸觉增,記住每次應(yīng)符合7+/-2的原則兵拢,因?yàn)槲覀內(nèi)说亩逃洃浘褪沁@樣。一般有圖形用戶(hù)界面的應(yīng)從界面開(kāi)始設(shè)計(jì)逾礁。
4學(xué)習(xí)設(shè)計(jì)模式
有了基本設(shè)計(jì)模型后说铃,可以學(xué)一些設(shè)計(jì)模式(Design Pattern)。這是目前證明很有效的嘹履。比如體系結(jié)構(gòu)模式(Layering分層腻扇,Pipe/Filter管道或過(guò)濾器),設(shè)計(jì)模式(有很多砾嫉,比如對(duì)象池Object?Pool衙解、緩沖池Cache等),編程模式(比如Copy-on-Write)焰枢。
懂了這些模式之后蚓峦,就會(huì)對(duì)系統(tǒng)的整體結(jié)構(gòu)有很好的把握,而學(xué)術(shù)上也有傾向一個(gè)系統(tǒng)完全可以由各種模式組合而成济锄。前面提到的MT實(shí)際上就有好幾種模式暑椰,掌握后就不用自己花很多時(shí)間去試了。另外一個(gè)很重要的領(lǐng)域就是并行和分布式計(jì)算領(lǐng)域荐绝,大概有20種左右一汽。
5進(jìn)行編程實(shí)踐
接下來(lái)就不能紙上談兵了,最好的方法其實(shí)是實(shí)踐低滩。一般教科書(shū)上的例子并不能算是實(shí)踐召夹,只能算是讓你掌握語(yǔ)言特性用的。而提倡做實(shí)際的Project也不是太好恕沫,因?yàn)槟氵€沒(méi)有熟練的能力去綜合各種技術(shù)监憎,這樣只能是你自己越來(lái)越迷糊。
我認(rèn)為比較好的方法是找一些比較經(jīng)典的例子婶溯,每個(gè)例子比較集中一種編程思想而設(shè)計(jì)的鲸阔,比如在我的實(shí)踐當(dāng)中,我曾經(jīng)學(xué)習(xí)過(guò)一個(gè)很經(jīng)典的例子就是用Java實(shí)現(xiàn)的HotDraw(源自SmallTalk)迄委,你可以用rolemodel或hotdraw在搜索引擎上找一下褐筛,我記不大清楚了。好象 是個(gè)網(wǎng)站叙身,上面有原代碼和一些基本設(shè)計(jì)的文檔渔扎。
另一個(gè)來(lái)源可以到 是個(gè)不錯(cuò)的文檔基地。從HotDraw上我學(xué)到了什么是Framework信轿,以及如何用rolemodel的方式來(lái)構(gòu)造晃痴,這樣我就可以應(yīng)用到其他的地方妓忍。順便說(shuō)一句,這個(gè)例子你絕對(duì)不會(huì)覺(jué)得小愧旦,只會(huì)覺(jué)得大,并且他還是真正的商用的Framework定罢。
6學(xué)習(xí)修改經(jīng)典例子
結(jié)合前面學(xué)到的設(shè)計(jì)模式你就可以很好的理解這些經(jīng)典的例子笤虫。并且自己可以用他來(lái)實(shí)現(xiàn)一些簡(jiǎn)單的系統(tǒng)。如果可以對(duì)他進(jìn)行進(jìn)一步的修改祖凫,找出你覺(jué)得可以提高性能的地方琼蚯,加上自己的設(shè)計(jì),那就更上一個(gè)層次了惠况,也就會(huì)真正地感到有所收獲遭庶。
好象以上談的跟Java沒(méi)什么關(guān)系,其實(shí)我們?cè)缇蛻?yīng)該從單純的學(xué)習(xí)語(yǔ)言到真正的學(xué)習(xí)好編程的領(lǐng)域稠屠。學(xué)習(xí)技術(shù)是沒(méi)有止境的峦睡,你學(xué)習(xí)第一種語(yǔ)言可能要半年時(shí)間,以后每種語(yǔ)言都不應(yīng)該超過(guò)兩個(gè)月权埠,否則你會(huì)覺(jué)得學(xué)習(xí)語(yǔ)言是包袱榨了,是痛苦。
7學(xué)以致用
學(xué)習(xí)是為了用的攘蔽,是為了讓你的程序產(chǎn)生價(jià)值龙屉,把握住這個(gè)原則會(huì)比較輕松點(diǎn)。
零基礎(chǔ)學(xué)java多久能月薪過(guò)萬(wàn)满俗?
BAT面試java程序員有哪些要求转捕?
Java程序員需掌握哪些核心技術(shù)?
學(xué)java去怎樣的公司賺錢(qián)更多唆垃?
java一般會(huì)面臨那些問(wèn)題五芝?
8實(shí)戰(zhàn)
無(wú)論怎么樣,最終都是要都是要實(shí)戰(zhàn)的辕万,理論再多也是需要實(shí)踐的与柑,那你就需要積累經(jīng)驗(yàn)了。自己做一些比較經(jīng)典的項(xiàng)目蓄坏。從簡(jiǎn)單到復(fù)雜价捧,不斷提高性能,優(yōu)化
總結(jié)
學(xué)習(xí)不是為別人而是為了自己涡戳,興趣是最好的老師结蟋,讓你的工作變得有趣,學(xué)習(xí)以致用渔彰,理論于實(shí)踐結(jié)合嵌屎,保持對(duì)外界最新技術(shù)信息的敏感推正。讓 你的全身的投入
如果有還需要改正的地方希望各位朋友多多留言評(píng)論,想要具體學(xué)習(xí)交流的可以加我群658358898這個(gè)是剛剛創(chuàng)的宝惰,希望營(yíng)造一個(gè)好學(xué)習(xí)氛圍植榕,快速提升自己的技術(shù)水平