1. 程式人生 > >零基礎Java學習路線

零基礎Java學習路線

全部來自傳智播客旗下的黑馬程式設計師。也感謝傳智播客放出這麼多優質的學習視訊。本套整合教程總共180+G,共450+小時,可用格式工廠轉MP4格式,QQ影音加速播放。

但考慮到絕大部分視訊至少要看兩遍,而且視訊總時長並不代表學習時長,所以零基礎初學者總學習時間大約為:

600小時視訊時長 + 100小時理解 + 100小時練習,至少需要800小時。

你可能覺得自己能一天學習8小時,實際上平均下來每天能學4小時都算厲害了。因為有些時候你就是學不下去,或者某階段視訊內容太難光看完半天內容就夠嗆,或者其他事情耽擱了。如果週末你也是堅持學習,那麼最理想狀況下,6個半月就可以學完。但我知道那其實基本不可能。我自己從完全零基礎,到學C語言,到學Java,除去中間斷開的兩個月,已經學習10個月。當然,這和我邊工作邊學習,以及沒有人幫我找資料有很大關係。很多時間花在找資料上了。如果你已經經歷過JavaSE的洗禮,會明白,我這篇回答對現在迷茫的你份量有多重。

一般來說,按本套教程,從零基礎到達到工作後能被人帶,至少需要8個月!培訓班現在也需要6個半月。不過現在自學或培訓出來的已經很難找工作了。

我不想和別人辯解這個,一般得到的回答是“誰說不好找,你自己學得垃圾而已!”。總之,沒有朋友內推,我不推薦零基礎的朋友冒險進這行,沒你想得那麼好的。各行各業都有值得做的工作。

以下正文:

我15年畢業,大學日語專業。16年9月18日開始決定學程式設計。

【1,啟蒙階段】

同樣地,花了3天經歷了入門語言選python還是C的糾結後,我最終選擇看郝斌老師的C語言視訊入門。具體學習方法看我的另一個回答,希望對你有幫助:零基礎如何學習程式設計

這個階段與其說學C,不如說懂一些基本的程式設計知識

,比如:迴圈結構,陣列,簡單的記憶體分配原理,指標概念等。郝斌老師的C語言視訊,對小白非常友好,啟蒙教育做得很好!

如果時間不是很寬裕,可以直接從下面的JavaSE視訊開始,看自己能否接受。

如果時間比較寬裕,喜歡循序漸進,培養興趣瞭解一些計算機知識,那麼可以看看。

我個人覺得郝斌老師講課很有魅力,我喜歡聽他嘮嗑。像一位好朋友娓娓道來。

【2,JavaSE基礎】

JavaSE階段,建議完全零基礎的朋友,先看畢老師的快速過一遍,再看劉意的。或者直接看劉意老師的,輔助看畢老師的。放心,完全零基礎的朋友,一遍肯定學不會。所以同一套視訊看兩遍都算少了。另外,有時一個老師的觀點是片面的,要結合不同老師的講解才可能對一個知識點有更全面深刻的理解(前提是先把一個老師的講解吃透

)。所以我是建議劉意和畢向東的都至少看兩遍。

具體建議後面會給出。

<對零基礎學習者的建議>

0,看視訊學習,不要看書學習。我自己是日語專業的,此前完全沒有接觸過程式設計,對程式設計是完全沒概念的。知乎上很多人都說看視訊慢,建議直接看優秀的書籍,所以我就買了C語言的一些書和Java的一些書(都是初學入門的),但都看不懂,看不下去。反而是後期跟著視訊學習一段時間後,再翻開書本(其實幾乎沒看過書),慢慢能知道書裡在講什麼了。大家千萬不要覺得看視訊會顯得自己學習能力不夠強。實際上,大學選擇計算機專業的同學,又有多少比例是不靠老師上課,自己躲圖書館把程式設計學會的呢?從這個角度來說,看視訊相當於大學課堂聽課。並沒什麼不妥。

1,不懂的知識點視訊多看幾遍,如果視訊有配套筆記,第二天起來複習一遍,加深印象。自己也可用word做筆記,寫學習日誌。JavaSE有不懂的,可以百度或谷歌,看看別人的技術部落格。再回過頭看視訊可能就突然明白了。因為我也這麼試過,對我幫助很大,希望你也能試試。

2,根據視訊內容畫思維導圖!

畫思維導圖的好處在我看來至少有兩個:

①理清講解思路,讓自己有全域性觀。初學Java,每一天的視訊剛聽完就基本忘得差不多了。很多知識點腦海中也只剩下一個名詞,具體講了什麼已經記不得!做筆記長遠來看是最省時間的。因為筆記內容都是自己消化過的,後期不用再去看視訊複習(太麻煩了),直接看自己的筆記效率更高!反而蜻蜓點水,不做筆記一味求快的人,學到後面跟不上。因為這些知識點你只是聽懂了,而不是理解,也沒有實際編碼操作過,印象是不深的!!

②方便日後複習,以及遺忘時的檢索回憶。

下面是我的思維導圖截圖(windows可以使用Xmind)

思維導圖可以很好地幫助我們理清知識點

思維導圖要自己做,自己看,效果最好。看別人的基本沒效果。

3,初級階段不建議買任何書籍,專心看視訊和附帶的筆記足夠了。包括知乎上推薦的《head first Java》,《瘋狂Java講義》,《Java核心技術》都不太適合現階段完全零基礎的我們。太厚,知識點太詳細。要知道,我們現在剛學完C,才瞭解程式設計的迴圈語句而已。再怎麼好的入門書籍,它對受眾也是有一定要求的。而這個階段的我們,就像小嬰兒,即使給我們一輛帶輔助輪的自行車,我們也騎不了...我買過一本《瘋狂Java講義》,就翻了幾次。看著密密麻麻完全不熟悉的知識點,很煩躁很焦慮。當然,我不是說看書不好,只是本階段不推薦。至少我從零基礎到學習框架,從書本上學到的可能就佔了0.5%,看部落格學到的也比書本多。幾乎完全是靠視訊學來的。而且視訊也有原始碼和筆記,已經很方便。

對零基礎的學習者來說,JavaSE的學習非常困難。比如我,學了一個多月才學到畢老師的異常一章。之前在面向物件一章就已經很崩潰,哪知異常也這麼抽象,完全不知道它是幹嘛的....很多人是科班出身,早就忘了當初自己連軟體都不會裝的窘境。就像我們現在根本不會覺得用筷子還需要學習,但你爸媽當年為了教你用筷子,可是頭疼過不止一次呢!

<JavaSE學習重點參考>

初學者也容易想走捷徑。我相信很多人都會有這個想法:能不能只學工作上要用的?根本原因是知識點真的太多了,有些暫時可以不學的,確實會想跳過。以劉意老師視訊為例,面向物件(封裝,繼承,多型),異常,多執行緒,集合框架,IO,網路程式設計都挺難的。其中面向物件是JavaSE的重中之重,裡面的知識點個人認為是最難的。後面的知識點都是建立在這之上展開的,沒學好面向物件,後面就會稀裡糊塗。

當然,也不是真的一點都不能跳,但最好完整地學下來。按照後面JavaWeb的學習來看:

面向物件是基石,JavaSE中最重要的一是集合,二是IO,希望大家學習這兩個知識點時認真對待,多敲程式碼,多思考。

常用API裡,String及其相關類StringBuilder, StringBuffer等必須熟悉,後面會不斷用到。不學好的話,後面怎麼死都不知道!

泛型一般只出現在集合中,個人覺得如果一時無法掌握,那麼暫時會在集合中使用泛型就行了。

反射對於初學者來說是非常抽象的!!但它又無比重要。它雖然不是JavaSE的重點,但是它是JavaWeb很多難點的底層支撐,不懂反射,寸步難行。感到困惑時可以參考我的反射思維導圖,完全是初學者不專業的解釋。

windows下載XMind軟體開啟。

>重點

面向物件☆☆☆☆☆

集合☆☆☆☆☆

IO ☆☆☆☆☆

String/StringBuffer/StringBuilder ☆☆☆☆☆

反射☆☆☆☆☆

泛型☆☆☆☆

>熟悉

異常,多執行緒

>先過一遍

GUI,網路程式設計,正則表示式

【3,JavaSE之後幹嘛】

我當時學完畢老師的25天后,迷茫了很久...根本不知道下一步怎麼走,該看誰的視訊好一點。後來才知道畢老師原來還有35天、30天、33天版的Java基礎視訊。但我已經沒時間重新都看一遍了。我當時直接開始了JavaWeb的學習,學到JDBC後發現基礎實在太差,學不下去。又回過頭學習了劉意老師的JavaSE視訊。

我覺得如果選擇一家培訓機構的視訊,就看他們全套的。因為知識點安排和講課風格會大體接近,比較熟悉。當你發現視訊講得有點淺,說明你學的還不錯。此時你想理解得更深的話,不要再找視訊了,視訊都是給初學者的,點到即止(不論哪家的視訊)。直接去看書,《Java程式設計思想》保證夠深。但還是忍住,先往後學JavaWeb吧!

畢老師30天的視訊最後有簡單地講解HTML CSS JavaScript和DOM,可以給我們一個基本概念。

前端三劍客,對於我們零基礎,只看畢老師的視訊是根本沒法一次掌握的,但畢老師講解後有了大概框架後,再看JavaWeb中的前端視訊會吸收得更好。

建議學完HTML就馬上做一個小頁面,鞏固下標籤的知識。HTML是三劍客裡最基礎的,必須掌握常用的標籤。

這裡是我寫的黃色網頁程式碼,僅供參考:

<JavaWeb學習重點參考>

【前端部分】

>>首先,學習html和css後記得做一個小案例,快速熟悉標籤使用。

>>學習JavaScript的dom操作時,留個心眼,多關注。js的dom學好了,對後面學習xml的dom會有幫助。當然,重點是xml的dom操作。dom4j重點練習。試著自己封裝一個小工具。

>>JavaWeb的反射就當複習,好好學

【JavaWeb核心技術】

>>tomcat一定要跟著視訊配置一遍。光看視訊是記不住的!!

>>Http協議和servlet超級重要,多看幾遍,看一遍我敢打賭你會暈。東西太多了。建議做一下思維導圖,理清知識點。

>>request和response超級重要,也很難。多看幾遍,不要心急。request域超級重要

>>cookie、session、JSP超級重要。多看幾遍,不要心急。session域超級重要。

JavaWeb總共四大域物件,都是很重要的。

>>day12-13,老實說,我只記得${EL表示式},知道怎麼匯入JSTL標籤庫<%@...>和核心庫的使用。其他的都忘了。

>>day14一定要跟著敲,因為後面的小案例都是在這個上面擴充套件。這個不敲,後面的敲不了!

>>day15-19算一個小週期。都是資料庫操作。還是那句話,跟著敲,才記得住。不敲你肯定記不住,真的。day-17-18-19jdbc的內容是崔老師視訊的第一個精華!!其他視訊難以超越的講解!!搞清楚TxQueryRunner的編寫思想對後面學習框架和框架如何實現事務有四兩撥千斤的功效!

相比servlet,感覺監聽器和過濾不是很重要,老師有點一帶而過的感覺。

上傳下載和JavaMail挺複雜的。我反正第一次沒掌握,用到查吧...但這些後面的專案會用到。

>>AJAX,很難。但聽說現在和json一起用的越來越多。

>>綜合練習,一定要敲,即使你覺得很難,也要硬著頭皮敲完。敲完以後,自信心暴漲,那時你自己對JavaWeb那些知識點是重要的哪些是次要就會有自己的理解。重要的知識點,在你心裡沉澱出來。就是這麼神奇!!

>>最後的基礎加強,崔老師視訊的第二個精華!!收穫也很大。直接提升到另一個境界。為學習框架做鋪墊。也算崔老師的道別禮物。

學習路線建議(按傳智播客黑馬程式設計師來) 
1,JavaSE(建議三個月):
畢向東任意版(啟蒙或輔助)
小白人生導師,強烈推薦,兩遍
劉意JavaSE(深入淺出精華版,主看這個)
2014年年底錄製,和後面Javaweb比較配,兩遍

畢向東JavaSE25天版由於有點老了,整個解說都沒用eclipse,不利於小白掌握eclipse使用。但內容真心不錯很照顧初學者。我自己初學Java看的是25天版本,後來又看了劉意老師的。畢老師的30天版裡的多執行緒比25天版本講得好,也講了前端知識。

JavaSE小結:
主看劉意。畢向東視訊作為補充,重點看他的面向物件,集合,IO,30天版多執行緒很不錯。
學完JavaSE先看下面的視訊,會讓你對前面所學和後面將學的內容有個整體認識,畢竟你可能從學JavaSE的第一天起就反覆問自己:這特麼學了有啥用?
pan.baidu.com/s/1cWdOEa rdlq

2,JavaWeb(建議兩個月):
崔希凡——超全面的JavaWeb視訊
和劉意的JavaSE銜接比較好,同樣深入淺出。day14和day24~26的專案,day17~19的JDBC以及最後兩天的基礎提高非常棒,強烈推薦,兩遍。

唯一的遺憾是這套視訊沒有jQuery和bootstrap 等前端內容,需要自己另外找。jQuery可以去菜鳥教程或者w3cschool學一下就好了。或者看就業班的。

3,ssh框架(按順序,建議20天):
重點看Spring,Struts2和Hibernate瞭解思想就好,看完就忘掉!!公司基本不用了。
崔希凡Struts2 + 劉悅東ssh框架 + 王澤2016ssh框架 + 王澤ssh綜合專案實戰

①崔希凡Struts2(銜接JavaWeb,作為過渡)
②劉悅東ssh框架(Struts2講得不錯)+ 樑桐spring
③王澤2016ssh框架(言簡意賅,思路清晰) + ssh綜合專案實戰(最後Dao抽取不錯)

崔老師的Struts2畢竟是2013年的,有點老了,會比較瑣碎。最重要的是,現在Struts2都不怎用了,作為了解的話,主要看值棧和攔截器,瞭解思想。
這部分視訊主要是為了給JavaWeb看崔老師視訊的朋友一個過渡。怕你們捨不得崔老師。其實其他老師框架也講得非常好。比如劉悅東,廣陵散等。

看完崔Struts2,就看劉悅東的框架,hibernate重點了解思想,Struts2幾個視訊中他講得最好最深。

最後,有了上面的鋪墊,再看王澤的ssh2016,條理非常清晰,精煉,沒有一句廢話。每天只有2.5小時。過一遍很快。

為什麼三個框架要看這麼多視訊?因為零基礎初學者要進入框架學習其實需要適應時間。就好比廣陵散(王澤)的,我一開始就是看他的,當時就想:什麼東西?上來就講一大堆配置?學習任何東西我都希望能知其然知其所以然,比較討厭死記硬背。所以我列的視訊順序,是為了照顧初學者心理。

學習任何框架一定要知道,在沒有它之前,前人是怎麼做的,那樣做存在哪些弊端,而框架又是怎麼解決的。這樣學才能形自己的理解。劉悅東和崔希凡算是課程上得比較有意思的。讓他們帶你們入門,心裡好接受些。

但框架東西畢竟太多,最終還是要王澤這樣精煉簡潔的講解給你們梳理一遍。
最後跟著王澤的ssh專案做一遍,ssh框架也就算入門了。struts2和hibernate理解思想即可,因為不用了!!但也不要走過場。你不瞭解Struts2和Hibernate,你就不知道學習SpringMVC和MyBatis有什麼好處,各自的優缺點是什麼,因為沒有對比!!

我的建議是,Struts2和Hibernate做做筆記,瞭解思想。不用去敲程式碼。把你的大腦空出來給後面的springmvc和mybatis。都學的話,會混!! 

3.5,崔希凡JavaWeb(day17~19,day27~28)
Javaweb階段你可能覺得上面這幾天內容不明覺厲,但又不知道具體有何用處。等你學完SSH就會發現這部分內容是真的很吊。看崔老師的JDBC能一窺框架的事務原理,基礎加強講到了如何利用註解+反射搭建山寨版的hibernate和spring。 

4,SSM框架(重點中的重點)
①李旭講的mybatis和springmvc
②黑馬的《springmvc、Mybatis由淺入深教程》
③在掌握了上面的視訊內容並有自己的一些見解後再去看尚矽谷的Mybatis,有稍微講一下原始碼。

之所以先看李旭的springmvc和mybatis,原因無他,就因為他只講重點,講得快。總共十小時,講完兩套框架。如果你領悟力夠強,理論上就成了。但絕大部分人都不可能看這麼一套視訊就會用sm框架。所以在看李旭的視訊時,要隨時記錄自己的疑問,然後看燕青的視訊時,帶著疑問去學習。mybatis主要關注輸入對映+sql配置+輸出對映,瞭解mybatis如何解決jdbc的不足。springmvc沒什麼建議...自己看著辦。 

黑馬程式設計師官網|Java培訓|人工智慧+Python培訓|PHP培訓|全棧工程師培訓|UI設計培訓|C++培訓|前端移動開發培訓|Android培訓|iOS培訓|網路營銷培訓 

5,學習方法:
小白自學的難點在於:
1,找不到合適的資料。2,不知道學習重點。

我的學習路線,是個人認為最適合小白的。
至於學習方法,即使我這篇文章給出了重點,可能你們還是不會相信。所以我建議:不要想著徹底掌握一塊知識點再去學下一塊知識點,這樣永遠不可能把這一套視訊學好。

你應該在理解的前提下用最快的時間完整過一遍,對整體學習路線有個把握。第一次學習爭取每個知識點懂個50-60%,專門搞個txt文件記錄觀看過程中的疑問點,從後面的內容判斷前面哪些知識點是重要的,常用的。然後回過頭來有重點地攻克,抓大放小。 

最後,我推薦的視訊都是自己用過的,對比挑出來的。儘量追求深入淺出,通俗易懂。如果你覺得沒看懂,就多看幾遍!!“多看幾遍”是最簡單樸素道理,很奏效。但是很少有人相信。其他的跟著視訊就好。前期用記事本工具,我用的是notepad++,你也可以用EditPlus。後期用MyEclipse,其實就是多了外掛的eclipse。要儘快熟悉MyEclipse的各種快捷鍵。

後記:

2017-10-4 23:21:25更新

17年5月中旬,學完畢老師的25天教程,非常照顧小白,講得非常生動有趣。我竟然有種看電影,很享受的感覺...但JavaSE終究太難,學完之後還是有點懵。這時閱讀到林琪老師的答案,很受鼓舞。裡面的視訊很優質。對於迷茫的我來說猶如一劑強心劑。於是5月17晚連夜寫了這個答案。後續發現劉意老師的JavaSE和崔希凡老師的JavaWeb簡直神作!希望讓更多像我這樣的小白得到幫助。斷斷續續的,今天我終於學習完崔老師的JavaWeb視訊了。十分感慨。又來重新編輯。希望對正在閱讀此答案的你有幫助。加油。

2017-10-21 11:03:11更新

在10月4日結束JavaWeb後,經歷國慶長假和迷茫(各種找資料),耽誤了好多時間。網上雖然很多就業班的視訊,但感覺都講得很差。尤其Struts2,要麼開頭就講各種原始碼根本學不下去,要麼只講死規則,一點原理都不講。感覺講得都不怎樣。由於崔老師的JavaWeb講得很棒,本能地想繼續看他的框架視訊。於是網上找了很久。最終在貼吧發現有個朋友有他的視訊,但只給出了第一天和最後兩天的練習視訊。即使這樣,崔老師Struts2第一天的講解已經比其他Struts2視訊好太多,對初學者來說非常清晰易懂。連續加了一星期QQ,終於聯絡上那位貼吧朋友,得到了Struts2視訊。另外聽說湯陽光老師的Hibernate和OA專案很不錯,就連同Spring一起下載了。接下來會學習上面這些視訊。不過現在SSH已經用的不多,做了解吧。時間應該更多地花在SSM,也就是Spring、SpringMVC和MyBatis上

2018-1-6 11:31:46

已經找到工作,對比周圍培訓班出來的朋友,我覺得自己自學出來水平還是十分不錯的(和科班當然沒法比)。視訊講得很好,但我自己也蠻努力的。希望真心想轉行的零基礎朋友,每隔一個月重新看一遍上面的帖子,你可能遇到的問題,可能有的疑問,我基本都在帖子裡回答了。因為我也是跌跌撞撞過來的,很清楚零基礎的困境。在剛開始蒐集資訊階段,我非常痛恨那些根本不知道零基礎是什麼情況卻瞎幾把抖機靈的大V,回答的都是什麼玩意兒…人家問學程式設計要怎麼開始,你說先買臺電腦?然後幾百個贊…

最後還是強調一下,轉行太難,請不要衝動。能不進這行就別進,工作太雞巴難找了。到時花了幾萬塊培訓費,大半年投入後出來找不到工作你可能會傻…精神會崩潰的。

每次看到什麼“我今年32歲,月薪1w,想轉行做程式設計師”我都想罵醒他…

不要那麼天真啊,真的。轉行很難找到工作的,年齡也是問題!不要被知乎洗腦,覺得只有IT行業人傻錢多日子爽好嗎!種一棵樹最好是十年前,其次是現在。這句話是說樹啊!樹!你們懂嗎。你是人,再過不到五年,你要結婚,養家的!轉行窮三年不是開玩笑的

寫這篇文章純粹就是覺得入行坑多,自己一路走來覺得太雞巴不容易了。能拉一個是一個。如果你們自學出來反正找不到工作,那我幫你們加速一下死亡時間,好歹醒悟也早幾個月不是?

原文連結:https://zhuanlan.zhihu.com/p/32682838