我建議你按照這個(gè)方法學(xué)Java

作者 | 慶哥
來源 | 慶哥Java(ID:ithuangqing)
請注意,本文極其硬核,不要放過任何一個(gè)字眼,否則都是你的損失!
大家存在的問題
「為什么說自學(xué)編程很難?」 因?yàn)榫幊蹋恢倍际且患虚T檻的事情,不然你以為為啥別人拿20K,你只能拿5K啊……

先看大家在自學(xué)編程中遇到的一些典型問題:
「1、學(xué)了就忘,知識(shí)記不住,學(xué)了等于白學(xué)」
「2、越學(xué)越感覺自己啥也不會(huì)」
「3、越學(xué)越覺得知識(shí)太多,而且雜亂」
「4、覺得自己付出很多,貌似沒啥收獲」
「5、一旦遇到問題,無從下手」
「6、陷入深深焦慮」
「7、無限循環(huán)」
以上都是大家在自學(xué)編程中會(huì)遇到的一些非常典型的共性問題,為什么會(huì)這樣,除了上面說的編程本身就是一件有門檻的事情之外,另外一個(gè)重要的原因就是,==這個(gè)行業(yè)啊,本身就是一個(gè)知識(shí)密度大且問題繁多,而且技術(shù)發(fā)展更新迭代非常快==,再加上現(xiàn)在卷的厲害,你稍不留神,你就落后了!
之所以出現(xiàn)上述種種無問題,一句話就是「你沒有屬于自己的方法」
為什么我覺得方法很重要
「我一直覺得自己是個(gè)普通人,所以一些共性問題我基本都會(huì)遇到」,我不覺得自己有什么過人的天賦可以讓我輕輕松松去解決工作學(xué)習(xí)和生活中遇到的某些問題,就比如編程自學(xué)這塊,我也是遇到好多的問題,其「過程真的是無比痛苦」,想必一定有感同身受之人!
那面對這個(gè)情況,我從很早就產(chǎn)生一個(gè)想法,「在我學(xué)習(xí)當(dāng)中,我必須給自己找一個(gè)方向,定一個(gè)路線,而且是一個(gè)正確有效的路線,然后我可以按照這個(gè)方向,盡管去努力就好了」,在我是個(gè)不怎么聰明且沒有天賦的情況下,我必須有一個(gè)可以踐行的準(zhǔn)則以及指導(dǎo)我前進(jìn)的方向,否則,我覺得我的人生會(huì)很亂,會(huì)浪費(fèi)很多時(shí)間也不會(huì)有些什么明顯的進(jìn)步!
這就是==我在學(xué)習(xí)編程中一直很重視學(xué)習(xí)方法的原因==,「我覺得有了學(xué)習(xí)方法之后,學(xué)習(xí)會(huì)更加的明確,也會(huì)對未來更加的充滿希望」,盡管我的學(xué)習(xí)方法可能并不是很正確或者存在不少的瑕疵,但是這些都不重要,只要有了,我覺得就有了方向,我就可以在這個(gè)方向上只管努力就行了,而且隨著自己的認(rèn)知不斷升級(jí),「我的這個(gè)方法也會(huì)不斷的更新迭代」,但是如果沒有這個(gè)方法作為根基,那我想,我的學(xué)習(xí)會(huì)是一團(tuán)糟,就好比那無頭蒼蠅一般……
人和神是不同的
你相信人和人是有智商差別的嗎?
慢慢的我相信了,而且有的人真的讓你感覺像神一樣,我們學(xué)習(xí)Java的都應(yīng)該認(rèn)識(shí)一個(gè)神級(jí)人物,就是這位:

大名鼎鼎的“Doug Lea”,就是他,寫了Java中的并發(fā)包,你要是仔細(xì)了解他之后,你真的會(huì)發(fā)出一聲感嘆:
?人和神是不同的
?
在編程學(xué)習(xí)這件事情上,有些人真的是特別的強(qiáng),你不服都不行,我就知道很多比我年齡還小的,人家就是架構(gòu)師,資深專家,被譽(yù)為天才少年什么的,不服?不行??!
在你還在為知識(shí)學(xué)不會(huì)發(fā)愁的時(shí)候,人家已經(jīng)是精通各種底層原理了,你怎么比,我曾經(jīng)咨詢過一位這樣的大佬:
==“請問你是如何解決知識(shí)遺忘的問題呢?記筆記嗎?”==
==“不,我從不記筆記,忘了就再看看,用的多了就記住了,用的不多的記它干嘛”==
說的對嗎?我覺得很有道理,但是,我知道自己達(dá)不到這樣的層次,或者說很難去這樣做,所以,我還是習(xí)慣去記筆記,「把一些知識(shí)學(xué)習(xí)之后經(jīng)過自己的思考重新整理梳理,再用自己的話敘述出來,記錄下來,我覺得這對我非常有幫助,而且可以幫我解決知識(shí)遺忘的問題!」
在理解了人和人始終存在差別之后,我發(fā)現(xiàn),選擇適合自己的才是最重要的!
分享我的方法
那接下來我就重點(diǎn)介紹那么久以來我總結(jié)的學(xué)習(xí)方法,希望能幫助大家更好的自學(xué)編程!
方法有用嗎
有些人是不太相信有什么學(xué)習(xí)方法可言的,覺得只是唯手熟爾,而且認(rèn)為方法論的東西是一件很虛的東西,這個(gè)我不反對,我一直覺得,任何一件事情,都會(huì)存在反對與支持,這個(gè)太正常了,我甚至覺得這是一件好事!
所以,接下來的分享可能更加適合那些對“方法”二字沒什么偏見或者抵觸的人!
先說怎么做
以下是我整理總結(jié)的自學(xué)編程的步驟,無論你是學(xué)習(xí)Java還是python,你都可以按照下面的步驟去操作:
第一階段:攬全局
?默認(rèn)你是完全零基礎(chǔ),新手小白,找本書,或者一套視頻教程,或者一套Java自學(xué)手冊,比如慶哥寫的這個(gè),開始學(xué)起來,跟著學(xué)就對了,先學(xué)完一本書,看完一套視頻教程再說,其他的都是在浪費(fèi)時(shí)間!同時(shí)學(xué)的時(shí)候一定要進(jìn)行教程式筆記記錄,否則你的學(xué)習(xí)將毫無用處,不懂教程式筆記的一定找慶哥請教,對你們太重要了!
?
第二階段:重實(shí)戰(zhàn)
?我在初期自學(xué)Java的時(shí)候就陷入了這樣的問題,就是只學(xué)理論,實(shí)戰(zhàn)幾乎沒有,導(dǎo)致學(xué)習(xí)效果很差,在進(jìn)行完第一階段之后,記得,直接懟項(xiàng)目,查漏補(bǔ)缺,發(fā)現(xiàn)知識(shí)盲點(diǎn),然后去攻克,這樣進(jìn)步才快!
?
第三階段:讀源碼
?這一階段是專題深入式的學(xué)習(xí),就是把一些高頻重點(diǎn)知識(shí)點(diǎn)單獨(dú)拿出來進(jìn)行專題式攻克學(xué)習(xí),要做到的就是不僅知其然還要知其所以然!
?
第四階段:補(bǔ)內(nèi)功
?這一階段就是學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)知識(shí)了,這個(gè)知識(shí)的重要性不需要多少,學(xué)就對了,萬丈高樓平地起,勿在浮沙筑高臺(tái)!
?
第五階段:成面霸
?相信我,面試這一關(guān)值得你花心思去學(xué)習(xí)!
?
好了以上就是學(xué)習(xí)Java的具體步驟了,當(dāng)然,限于篇幅,我只說了精華,其中有不了解的,可以找慶哥詳細(xì)探討!
再次強(qiáng)調(diào)一下,以上說的是總的學(xué)習(xí)步驟,但是我發(fā)現(xiàn)還是有很多人看了不知道怎么做,這里簡單解釋一下,「以上五個(gè)具體步驟是告訴你該學(xué)習(xí)哪些內(nèi)容,但是需要你自己去找學(xué)習(xí)資料的」,比如第一階段攬全局,你得去買一本書或者找一套視頻教程來學(xué)習(xí),第二階段需要你自己去找相應(yīng)的實(shí)戰(zhàn)項(xiàng)目去學(xué)習(xí),懂了吧,告訴你怎么學(xué)習(xí)了,你得自己找資源去學(xué)習(xí)??!
現(xiàn)在這網(wǎng)絡(luò)時(shí)代,最不缺的就是學(xué)習(xí)資源了,「千萬不要想著別人什么都給你準(zhǔn)備好,除非你愿意付費(fèi)!」
重點(diǎn)說方法
那接下來我將重點(diǎn)解讀下我所踐行的學(xué)習(xí)方法,總結(jié)起來就一句話:
?系統(tǒng)化學(xué)習(xí)和教程式筆記
?
看起來很簡單,理念需要仔細(xì)理解,否則你是get不到真正的點(diǎn)的!
系統(tǒng)化學(xué)習(xí)
我相信現(xiàn)在你一定感覺到,我們?nèi)粘I钪械乃槠瘯r(shí)間越來越多了,我不知道你是怎么利用這些碎片化時(shí)間的,首先說明一點(diǎn),我認(rèn)為,碎片化時(shí)間是不適合學(xué)習(xí)的!
為了讓大家有個(gè)更清晰的認(rèn)識(shí),我還是舉幾個(gè)碎片化時(shí)間的例子吧:
1、吃飯的時(shí)候,尤其在外面吃飯的時(shí)候
2、等車,坐車,排隊(duì)等
3、上廁所……
4、睡前
5、放空
6、……
OK,有這個(gè)場景概念了吧,那這些時(shí)間我認(rèn)為是不適合學(xué)習(xí)的,對于這些時(shí)間,我通常這樣利用:
「1、刷抖音」
「2、看文章(技術(shù)文章一定看自己學(xué)過寫過的,其他的不看)」
咋樣,我的利用方式和你一樣嗎?有的人會(huì)說,這樣的時(shí)間,我一般會(huì)用來刷劇,其實(shí)我之前也會(huì)這樣,但是慢慢的我發(fā)現(xiàn)刷劇這件事情也是需要系統(tǒng)化時(shí)間來進(jìn)行的,否則,幸福感太低!
那說了這么多,**啥是系統(tǒng)化學(xué)習(xí)呢?**其實(shí)對于系統(tǒng)化學(xué)習(xí)這個(gè)概念,網(wǎng)上也有不同解讀,可能我這個(gè)是最普通的了,==要說系統(tǒng)化學(xué)習(xí),需要先說說什么是系統(tǒng)化?==
對比之前說的碎片化時(shí)間,==這里的系統(tǒng)化我指的是就是那些系統(tǒng)化的時(shí)間來說的==,「所謂系統(tǒng)化的時(shí)間就是指的你有可自由利用的一整塊的時(shí)間,我通常將其限定為最低一小時(shí),也就是說在這一小時(shí)里你可以想干什么就干什么,你是可以完全自由支配,不會(huì)有人來打斷,可以持續(xù)利用完這一小時(shí)?!?/strong>
那以上是針對時(shí)間而言的系統(tǒng)化,那系統(tǒng)化的學(xué)習(xí)是怎樣的呢?這個(gè)要拿碎片化的學(xué)習(xí)來對比,**什么是碎片化的學(xué)習(xí)呢?**比如,突然看到一篇講解CopyOnWriteArrayList,然后你就去看看,然后過了一會(huì)又看到講解IOC的文章,好在去看看,過了一個(gè)小時(shí)又在B站看jvm內(nèi)存模型,晚上的時(shí)候又在學(xué)習(xí)分布式鎖,我把這樣的學(xué)習(xí)稱為碎片化的學(xué)習(xí)!
看似這一天你又是學(xué)習(xí)多線程,又是學(xué)習(xí)虛擬機(jī),還有框架什么的,但是在我看來,沒什么用,除了自我滿足以外,你的學(xué)習(xí)并沒有什么效果!「這種碎片化學(xué)習(xí)是我不提倡的!」
而且,如果上述碎片化學(xué)習(xí)過程中你沒有任何產(chǎn)出,我覺得就是存粹在消磨時(shí)間而已!
???想一下,為什么你會(huì)覺得知識(shí)學(xué)不完,知識(shí)多,學(xué)了就忘,學(xué)了很多感覺還是不怎么會(huì)?get到了嗎?
?
「怎么辦?你需要的是系統(tǒng)化學(xué)習(xí)!」
上面解釋了什么是系統(tǒng)化時(shí)間,而這個(gè)系統(tǒng)化的學(xué)習(xí)指得就是「在系統(tǒng)化時(shí)間內(nèi)去集中學(xué)習(xí)一個(gè)專題知識(shí),直到你將其80%的常見知識(shí)點(diǎn)都學(xué)完!」
舉例來說,就是在你可自由支配的這一個(gè)小時(shí)的系統(tǒng)化時(shí)間內(nèi)集中去學(xué)習(xí)多線程的知識(shí),當(dāng)然,可能這一個(gè)小時(shí)你并不會(huì)學(xué)完多線程,你也不可能學(xué)完,但是你要記住,你的下一個(gè)系統(tǒng)化時(shí)間一定還是學(xué)習(xí)這個(gè)多線程!
另外,知識(shí)都是可以深入挖掘的, 很多都不是你一時(shí)間內(nèi)可以完全掌握的,所以不要想著把所有的都全部弄懂學(xué)會(huì),不可能也不現(xiàn)實(shí),只需要掌握80%即可,就是常見的你得學(xué)會(huì),怎么把握這個(gè)常見,看看面試題會(huì)問哪些,面試題上出現(xiàn)的你得搞懂!
總的來說,「什么是系統(tǒng)化學(xué)習(xí)?主要就是“系統(tǒng)化”二字,就是盡量整體,而不是被分散」,時(shí)間要盡可能是一整塊大時(shí)間,學(xué)習(xí)要是集中學(xué)習(xí)某一塊知識(shí),整體,整體,整體,get到了嗎?
教程式筆記
脫離了“教程式筆記”的“系統(tǒng)化學(xué)習(xí)”啥也不是!
我這里介紹的系統(tǒng)化學(xué)習(xí)和教程式筆記必須是相輔相成的,少了誰都不行,這是一個(gè)完整的學(xué)習(xí)方法,那什么是“教程式筆記”?
說到底還是筆記,但是絕不是最低級(jí)的那種筆記,什么是最低級(jí)的筆記:
?從書中摘抄或者視頻中截屏然后粘貼到文檔保存
?
我把這種筆記稱作最低級(jí)的筆記,我發(fā)現(xiàn)有大量的人是這樣記筆記的,不能說沒用,只能說作用微乎其微,其實(shí)最好的一種筆記方式就是寫博客,這里面有個(gè)很重要的點(diǎn)就是,博客一定是這樣的:
1、對應(yīng)的知識(shí)自己學(xué)過一遍
2、有自己的理解和思考
3、相關(guān)代碼示例自己實(shí)操過
4、用自己的話敘述整理
5、寫出文章,不僅自己能看,別人也可以看
這才是一篇好的筆記,也是一篇合格的博客,那我這里的教程式筆記就是這樣的很多個(gè)博客組成的教程,還記得之前說的系統(tǒng)化學(xué)習(xí)吧,在你進(jìn)行系統(tǒng)化學(xué)習(xí)的時(shí)候,針對每一個(gè)知識(shí)點(diǎn)都要寫一篇這樣的博客,然后整理在一起,分本別類,形成非常系統(tǒng)化完整的一份筆記教程,就比如我學(xué)習(xí)Java寫的這份30萬字的教程式筆記:

所以,系統(tǒng)化學(xué)習(xí)和教程式筆記是相輔相成的,必須在一起才能發(fā)揮作用!
小技巧
在你進(jìn)行了系統(tǒng)化學(xué)習(xí)和教程式筆記之后,你就可以更好的去利用碎片化時(shí)間了,怎么辦,就是我之前說的看文章,而且是看那些你系統(tǒng)化學(xué)習(xí)過的知識(shí)點(diǎn),為啥,一句話說明白“「溫故而知新,可以為師矣」”,咋樣,get到了吧?
好啦,到了這里,本文的分享就結(jié)束啦,以上就是我這四年以來自學(xué)編程所有經(jīng)驗(yàn)的精華總結(jié)了,不知道你讀懂了多少!
but,如果你覺得本文還不錯(cuò)的話,麻煩點(diǎn)個(gè)贊吧,「原創(chuàng)不易,需要鼓勵(lì),在此謝過!」



LOVE
點(diǎn)個(gè)在看你最好看

