結合大學四年經驗,帶你揭祕高效自學Java的方法和路線(從認識、方法、反饋3個角度出發)

語言: CN / TW / HK

首發公眾號:bigsai

前言

大家好,我是bigsai 好久不見,甚是想念,文章同時收錄在回車課堂。本文就自學Java的n個問題和n個方法做出一些建議,並且推薦了一條自學Java的路線,比較適合一些新入門的小白。 在這裏插入圖片描述

無論你是大學生還是在職人員,想學Java時,都會面臨兩個選擇,自學或者報班。報班通常太費錢,時間又不自由;自學又不知道如何下手,擔心自己堅持不下來。怎麼辦呢?

本文將解答你自學Java的N種問題:

你適不適合自學Java呢?

如何自學Java呢?

有沒有靠譜的Java自學資料推薦?

怎樣讓自己看到進步,堅持下來?

……

以上問題,課程中我都會嘔心給你梳理答案,趕快開始學習吧。

什麼人適合自學Java

在自學前你可能會因為自身的條件有很多困惑和疑慮,不清楚自己是否適合自學Java。下面我們來做個測驗,來檢測一下你是否適合自學Java。

第一道題:你對學習Java的信念有多強?

最低分0分,最高分5分,你給自己打幾分?

對學習Java抱有堅定的信念是學習Java的必備條件,如果你給自己的打分小於等於2.5分,建議你直接放棄學習Java吧。如果你給自己的打分大於2.5分(越高越好),恭喜你,第一關的考驗過了!

第二道題:你學Java的目的是興趣提升 or 就業?

如果你學習Java只是興趣提升,那麼你無論是自學或者報班怎麼學都是適合的,因為你不差時間。那麼後面的考驗題你也可以直接跳過,看後面的乾貨。

但如果你是為了就業而學習Java,那對學習Java效果和時間都有一定要求,還要滿足社會崗位要求。建議你好好考慮報班還是自學。

如果你大於30歲的話,我已經不推薦你學習Java了,一方面30歲後學習能力和精力堪憂,另一方面30歲的Java初級小白幾乎找不到工作。

但如果你小於30歲的話,那你的客觀條件還是可以學習Java的。剩下的就要考驗你的自控力和毅力了。

第三道題:最低分0分,最高分5分,你給自己的自控力和毅力打幾分?

如果你的打分小於3分,我建議你報班學習Java,自學不適合你。(如果你不能確定自己的自控力水平,你也可以去網上找一些自控力測試的問卷。)

但如果你自控力較強、個人時間較多、熱愛獨立思考鑽研的話,那麼恭喜你,我認為你是非常適合自學的。如果你也選擇自學,那麼本課程的內容你可以好好學習借鑑,相信你一定可以找到一條適合自己的道路!

最後你也許會問,性別、英語水平、數學水平、是否為科班等是否影響自學Java,如果你上面的測試都通過了,這些其實都是一些非關鍵性的影響因素。

我們用一張圖總結一下以上的所有問題:

選擇圖

雖然性別、英語水平、數學水平、是否為計算機專業都等不是關鍵因素,但當你是女孩子,英語、數學水平較差,非計算機專業相對於男孩子,英語、數學水平較好的計算機專業還是會有一些影響,為了達到同樣的結果可能需要付出更多的努力。

我們這裏拿計算機專業和非計算機專業比較一下。

計算機專業和非計算機專業自學Java的區別?

雖然説計算機主要靠自學,但是計算機專業的學生相比非計算機還是有很大優勢的,大部分計算機專業是有開設Java這門課程的,可以讓這些學生在學習Java的道路上快速度過"冷啟動";還有一些重要的基礎課,例如數據結構、操作系統、數據庫、計算機網絡等課程能夠幫助學生更深入地瞭解計算機,學習起Java語言也能有更深層次地理解。

而非計算機專業在自學Java時,會因為有原專業課程、作業的限制,學習時間相比計算機專業學生少了不少,但這些問題是可以被克服解決的,可以多花一些課餘時間、週末時間,學習練習Java,也可蹭一蹭計算機專業開設的Java課程,多與計算機相關專業同學交流碰撞。自學Java的心態也很重要,不要因為被本專業課程拖累而埋怨,要樂觀地去面對學習上的困難,有長遠的眼光,陽光總在風雨後!

總的來説,計算機專業自學Java資源、時間更多,更需注重自學的方法和內容;而非計算機條件較難,除注重方法和內容之外,重要的是要堅持在百忙之中擠出很多時間留給Java,這對毅力是非常大的考驗。

當你適合自學的時候,那麼你就要尋求好的方法提高自學Java的效率,如何做呢?看看下面內容吧~

高效自學Java三大關鍵點

這裏我總結了三大點,分別從認識、方法、反饋角度來寫,其中一定有適合你的方案!

1 瞭解Java知識體系

自學Java前,要對Java和Java體系知識有一定認識,心中有個大概的輪廓去學習,方能更踏實。通過幾個問題了解Java。

什麼是Java?

Java是一種可以撰寫跨平台應用程序的、面向對象的程序設計語言。簡單説,Java就是一種語言,不過是一種跑在JVM上的語言,Java編譯後是字節碼,而JVM會把這些字節碼解釋成機器碼,然後做出相應的動作。

Java能幹什麼?

Java當前用的較多的就是做後端開發、大數據開發、安卓開發,這是當前Java技術棧較為熱門的三種崗位,其中以Java後端的市場需求最大。Java也可以做桌面應用開發、遊戲開發,但需求相對較少。

國內大廠,像阿里巴巴、美團、京東、拼多多等,使用的主要語言都是Java,大部分中小企業為了成熟穩定也選擇Java作為後端開發語言。此外,很多著名的中間件是由Java編寫的,例如:Elasticsearch、RocketMQ、Hadoop等。

Java有哪些知識?

一、Java基礎

Java入門部分:

  • JDK、IDEA安裝,第一個HelloWorld
  • 基礎內容:輸入輸出、命名規範、註釋
  • 數據類型:基礎數據類型(及其包裝類)、引用類型
  • 修飾符:訪問修飾符、非訪問修飾符
  • 運算符:賦值、算數、自增自減、比較、邏輯、位、三元運算符及其優先級
  • 控制流程:條件判斷、循環語句
  • 數組、字符型
  • 類與對象
  • 面向對象三大特徵:繼承、封裝、多態
  • 日期、正則、大數運算(簡單瞭解)

Java進階部分:

  • IO常見文件操作
  • 集合框架:ArrayList、LinkedList、HashMap、HashSet、ArrayDeque等
  • 異常處理
  • 泛型
  • JDBC
  • 網絡編程
  • Java8新特性(Lambda)
  • 反射、註解(有點難)
二、Java高級
  • 多線程、高併發
  • 23種設計模式
  • 樹、紅黑樹、B樹、散列、堆、圖等
  • 算法:十大排序、二分查找、分治、貪心算法、位運算、回溯、動態規劃、搜索算法(bfs、dfs)、最短路徑(Dijkstra、Floyd)、最小生成樹(Prim、Kruskal)、並查集、KMP等算法
三、JavaWeb:
  • HTML、JavaScript、CSS
  • XML、JSON
  • Tomcat
  • Servlet/JSP(以Servlet為主)
  • JQuery、Ajax
  • MVC
  • Cookie、Session
  • 過濾器、監聽器
  • 文件上傳下載(Servlet3.0)
  • Linux
四、常見框架:
  • ORM框架:Mybatis

  • Spring全家桶:Spring、SpringMVC、SpringBoot

  • 安全框架:Shiro、Spring Security(可選一種先學)
  • 其他框架:Swagger(在線接口)、Log4j2(日誌)、Quartz(定時)等
  • 微服務:SpringCloud、Dubbo等
五、常見中間件和工具:
  • 版本控制:Git、SVN
  • 包管理:Maven、Gradle
  • 關係型數據庫:MySQL、Oracle等
  • 非關係型數據庫:Redis(緩存)、Memcached(緩存)、MongoDB(文檔型)等
  • 搜索引擎:Elasticsearch、Solr等
  • 消息隊列:RocketMQ、ActiveMQ、RabbitMQ、Kafka等
  • Web服務器:Apache、 Nginx
  • 容器:Docker、K8S
  • 大數據:Hadoop、Spark、Strom、Flink等

當然,上面只是羅列了大部分知識點,還有很多知識比如日誌分析監控(ELK)、持續集成、分庫分表等也都是熱門技術,Java後端技術體系龐大。這些內容可以根據你的工作或者興趣,選擇性深入學習。

2 自學Java的三大途徑—書籍、視頻、博客

自學Java一般有書籍、視頻、博客等學習資料,這裏主要講解三者在自學Java中的異同點。

image-20210331001025515

看書自學Java

看書是最為傳統的學習方式,我們從小到大大部分的自學知識是通過看書來獲得的,所以可能很多人都喜歡和適應這種方式。書籍具有嚴謹、體系完整等特點,並且紙質的內容來回翻閲在回顧的時候也更便捷。

但看書也有一些缺點:可能分不清主次,在學習Java的時候其實是有側重點的,而書上可能在這方面並不會有太多的介紹和標註,並且一些冷門淘汰知識可以不用學習(例如Java Swing部分);有些內容即使作者寫得很棒了,但可能會因為案例、解釋較少不能完全理解(尤其是小白)。

看視頻自學Java

比起書籍,更多人願意看視頻自學Java,因為看書時大部分人會覺得比較枯燥。但是視頻就不一樣了,視頻中老師們通常會邊敲邊講解,更易於知識點的理解,並且人是感性動物,看視頻就如同與老師交流,好的老師會讓學習效率直接翻倍。

看視頻當然也會有些缺點,視頻時間較長較多,很難快速回顧學過的知識或者快速瀏覽章節內容,所以有可能會浪費一點學習的時間。

看博客自學Java

博客是程序員必不可少的學習資源,近些年高質量博客、文章也越來越多。這種博客文章閲讀比較方便,內容選擇也比較豐富,好的博客圖文並茂生動形象非常有助於理解記憶,並且博客在代碼拷貝學習方面更佔優勢。

看博客也有一些缺點:比如博客比較碎片化,體系不太完整。還有博客質量參差不齊差距較大,甚至有的博客還出現較大的錯誤,所以挑選好的博客是一大挑戰。

總的來説,系統自學Java主力軍還是 看視頻和看書 ,可以以看視頻為主,看書為輔,遇到疑難點不理解的可以通過搜索相關博客多看文章進行學習吸收。

為了方便你的學習,我貼心為你搜集了一波優秀的視頻、書籍、播客,以及刷題網站和社區的列表清單,你可以慢慢“享用”。

圖文類的教程網站:

菜鳥教程:https://www.runoob.com/java/java-tutorial.html 教程免費,適合基礎入門

W3Cschool:https://www.w3cschool.cn/ 教程免費,適合基礎入門

易百教程:https://www.yiibai.com/ 教程免費,適合基礎入門

How2j: https://how2j.cn/ Java基礎到高級,還有各種框架、中間件教程

回車課堂:https://ke.boxuegu.com/ 以關卡形式教學,從基礎到高級,文章內容質量比較高

書棧網:https://www.bookstack.cn/ 免費的在線電子書、筆記、文檔網站

還有其他免費圖文教程、個人站點的例如importNew ,我要自學網等也可看看。

視頻網課網站

動力節點:http://www.bjpowernode.com/javavideo.html 有很多免費不錯的課程

慕課網: https://www.imooc.com/ 有免費有付費

B站:https://www.bilibili.com/ 有"B站大學"美稱

對於視頻類教程網站,首推B站,很多培訓機構會將部分高質量視頻放到B站吸引用户,這些免費資源可以利用好,並且B站是個開放的平台,有很多up主會自己錄一些視頻講解也是相當不錯的。還有一些培訓機構例如傳智播客、尚硅谷、達內等可以到官網獲取一些免費知識,還有一些課程網站例如騰訊課堂、潭州教育、拉勾、極客時間、藍橋雲課、開課吧等很多課程在剛開始推廣期特別便宜可以入手一波學習。

當然,獲取視頻教程還有一個途徑就是向別人要,很多公眾號號主將資源分享在公眾號後台可以免費獲得,還有一些資源可以通過淘寶和鹹魚低價獲取網盤資源,還是很值得。

刷題網站

力扣:https://leetcode-cn.com/problemset/all/

牛客:https://www.nowcoder.com/

適用ACM選手的一些刷題網站:杭電ojCodeforceVjudgeAtcoder

Java開發也要刷題嗎?那是肯定的,找工作無論大廠小廠(尤其大廠)避免不了筆試題,力扣和牛客上都有劍指offer,建議刷2-3遍,力扣hot100一定要刷一下,如果衝擊大廠那一定要刷200道以上才行。

其他學習網站

csdn:https://blog.csdn.net/ 最大中文博客網站,結合搜索使用

博客園:https://www.cnblogs.com/ 老牌社區,依然有很多用户

知乎: https://www.zhihu.com/ 有很多高質量問答、文章、專欄

掘金:https://juejin.cn/ 社區較新,前端用户較多,內容質量相對較高

思否:https://segmentfault.com/ 文章內容質量不錯,問答質量較高

github:https://github.com/ 全球最大開源社區,有非常多的開源項目

Stack Overflow: https://stackoverflow.com/ 全球最大技術諮詢交流平台

V2EX :https://www.v2ex.com/ 高質量交流社區

至於51CTO、Infoq、開源中國等社區內容質量也很高,但用户相對較少。這些學習網站和資源不向前兩項介紹的知識成體系化,這些平台相對都是流動交互性很大,所以你需要找到適合自己的資源,要利用好搜索的功能,此外各平台你也可以關注覺得不錯的博主閲讀他的專欄文章,收益也是很大的。

推薦書籍

自學Java我推薦的書籍為《Java從入門到精通》,有案例、代碼跟着學很容易懂。

當然被業界稱為為四大名著書籍質量也不錯:

《JAVA語言程序設計》----初級

《JAVA核心技術》卷I----初級、《JAVA核心技術》卷II----中級

《JAVA編程思想》----初級~中級

《Effective Java》----中級

在跟着書籍學習的時候,有困難的內容也可以先放一放,還有Java Swing等窗口應用部分也可跳過。這些書不需要全買,有一本工具書就足夠了。

3 回顧與交流,牢牢鎖住知識點

學習很容易遺忘,因此要時常回顧。不推薦視頻作為長期回顧的方法,更推薦博客、紙質書回顧,因為它們可以快速定位,很多內容看一遍就想起來了。

除了回顧以外,交流可能是另一種鎖住知識的好方法了,通過交流傾聽別人的意見,能深入思考,加深對知識的理解。交流的方式和途徑有很多

和身邊人交流:最方便和高效的交流方式就是和身邊同學、舍友、一起學習的人進行交流,一起學習進步共享學習的心得;

社羣論壇交流:最大眾化的就是添加一些QQ、微信的技術交流羣或者在一些問答論壇交流,羣中或者論壇中會有不少大神或者志同道合的人能夠幫到你。作為技術人加幾個技術社羣、多逛技術論壇還是很有必要的。

當然還有一種方式並不一定適合所有人,就是和"自己"交流,將自己的學習內容重難點以筆記、文章形式輸出出來,雖然這會耗費大量精力和時間,但這不斷思考、優化、寫的過程會使你對知識印象更深刻。

史上最實用的Java學習路徑

上面已經介紹了高效自學Java的關鍵點,下面來推薦實用的Java自學路徑。

這個路徑是我為你嘔血整理而成,它結合我個人的自學經歷與大牛的學習建議,避免了學習的坑。路徑分為四部分:

  1. Java基礎學習階段
  2. JavaWeb學習階段
  3. 框架學習階段
  4. 自我提升階段

學到第三階段,就達到初級程序員的水平,可以找工作了。第四階段——自我提升階段——裏的知識是Java高級和框架兩部分裏的需要深入學習的知識,你可以一邊工作一邊提升,其他內容是。

這裏我推薦的自學路徑,以視頻為主。因為Java路徑中的各個階段相對獨立,不必追求一家視頻,但同一階段建議看一家視頻。

Java基礎學習階段

該階段對應Java知識體系中的Java基礎,方法為學習+刷題,每天學習8小時,推薦總時間控制在60天左右,推薦以視頻為主,工具書為輔。

本階段的學習推薦視頻為回車課堂的《Java入門教程》(總時長約30小時)。看視頻的時候1.5倍數看(看不懂可以倒回來多看幾遍,最好不要原倍速看),遇到案例就暫停,自己動手跟着敲一下(劃重點,跟着敲非常重要,看懂不等於真懂)。

看完視頻,再看書上內容,推薦《Java從入門到精通》或《Java核心卷 Ⅰ》。如果對應的內容很容易懂那就説明學習的效果不錯,如果不懂的話就多看書研究一下或者再找一些博客文章學習一下。書上的案例也要跟着敲寫。

學完後,你還要檢驗自己學的怎麼樣,可以通過刷一些簡單題來鞏固。我建議到 杭電第11頁或者C語言網去刷一些簡單題檢驗自己,成功完成一道道題會讓自己獲得成就感,有繼續學習的動力。 image-20210314200644136

在這個階段,你可能學習了大量集合框架的使用,但是不瞭解為什麼,比如很難理解為什麼ArrayList查詢快,LinkedList插入更快,這是因為你沒有數據結構與算法的儲備,所以在這一階段的最後,你要補一補數據結構與算法的內容(第一遍學習以看和理解為主,不需要自己實現),這裏我推薦王道考研數據結構視頻和B站青島大學王卓老師的數據結構與算法專欄,雖然這兩個都是以C語言角度講的,但是不妨礙你理解,如果有興趣要動手實現各種數據結構與算法,可以到博客上查找實現方式。

在這個期間當然也要刷題了,但不推薦在杭電和C語言網刷題了,此時建議刷“劍指offer”上的題,劍指offer共計67題都是高頻筆試面試題,並且有很多都和數據結構有關係。也許剛開始刷的時候會比較吃力,力扣 和牛客官網對應題目討論區有很多優質講解可以學習。

JavaWeb學習階段

JavaWeb部分,每天學習8小時,建議控制時間在30天左右,推薦學習方式以視頻為主,教程網站為輔。這部分內容雖然相對簡單,但涉及到很多新的技術和概念需要時間吸收理解(例如HTML,JavaScript,CSS,JQuery,MVC,Ajax等)。學習JavaWeb推薦B站狂神JavaWeb入門到實戰視頻,大概25小時左右,同樣也要倍速看。在學習JavaWeb的時候,會涉及一些其他領域的東西比如Html,JavaScript,CSS,MySQL等你不需要學的很深,先會一些基本的就可以。另外看視頻的時候JSP部分可簡略看,尤其是標籤、EL表達式那塊應用已經很少很少了,快速瀏覽即可。

JavaWeb部分,如果遇到一些錯誤很難解決跳過,可到Github找一些可運行的項目進行跑。有些東西不一定非要死扣,資源教程很多能跑出來對於初期才是最關鍵的。

學習JavaWeb除了跟視頻外,也可以跟着教程網站或者博客專欄進行學習(例如菜鳥教程的Servlet),因為跟着教程網站在代碼學習上效率較高,當然在學習別人代碼的時候要有自己的創新。

學習JavaWeb 中Servlet/Jsp這部分內容的時候,除了要跟着教程的案例一個一個敲代碼,最後一定要動手敲一個小網站,網站內容囊括 Servlet、jsp、Session、Cookie、JDBC、Ajax等相關技術,包含具體登錄註冊功能、文件上傳下載功能、頁面訪問計數等功能,可以從網絡上獲取一些前端頁面模板或者UI框架(推薦Layui或者EasyUI)進行修改。

框架學習階段

框架學習+項目實戰,每天學習8小時,建議控制時間在60天,推薦學習方式是視頻+文檔資料學習。

JavaWeb中Servlet/Jsp很少在企業直接使用,學習企業級開發框架才是重中之重,框架類如果單純為了學習應用的話不要買書,因為主流框架技術更新迭代較快,大部分書籍跟不上技術的發展;如果為了深入理解框架設計、原理可以買對應框架的源碼分析類書籍(要注意框架版本)。在尋找視頻或者博客教程的時候要留意文章或者視頻的發佈日期,如果太早的話不建議觀看。

在框架中,重中之重的是Spring、SpringMVC、Mybatis、SSM、SpringBoot等。學習順序的話建議從Mybatis到Spring到SpringMVC,三個框架單獨學完之後再進行整合SSM框架,利用SSM寫一些小案例。之後學習SpringBoot,再利用SpringBoot完成實戰項目鞏固學習。

推薦狂神系列視頻:

  • 狂神Mybatis教程:(https://www.bilibili.com/video/BV1NE411Q7Nx) 視頻長11小時左右
  • 狂神Spring教程:(https://www.bilibili.com/video/BV1WE411d7Dv) 視頻長8小時左右
  • 狂神SpringMVC教程:(https://www.bilibili.com/video/BV1aE41167Tu) 視頻長10小時左右
  • 狂神SSM整合教程:(https://www.bilibili.com/video/BV1RE41127rv) 視頻長3小時左右
  • 狂神SpringBoot教程:(https://www.bilibili.com/video/BV1PE411i7CV) 視頻長19小時左右
  • 狂神SpringBoot開發網站 (https://www.bilibili.com/video/BV19E411v7Ty) 視頻長5小時左右

從學習框架開始,你就要學會閲讀官方文檔啦,因為一個開源框架之所以流行成功,和它的文檔資料等都是密不可分的,官方文檔是第一手高質量資料。可能有部分官方文檔沒有中文版本,因此需要你有一定英語水平或者使用翻譯。這裏提供一些優質的專欄、博客分享給大家:

除了以上框架,還要學習Java後端必學的安全框架(Shiro或者Spring Security,可以學習其一);Redis緩存消息隊列(選一種消息隊列學習),後面有時間再學習其他中間件。

框架學習完,一定要多動手才能熟練掌握,如果你是學生可以根據課堂的任務或者學校的本創、大創寫項目來提高熟練度並且不斷拓展學習,如果你是非學生、非計算機專業沒有項目條件,那你可以跟着項目實戰教學視頻去寫項目鞏固學習內容。

自我提升階段

前面的內容學起來相對簡單,是自學的核心內容,但是度過初期要學什麼也要有個大概的瞭解,這裏簡單介紹一下並推薦部分書籍。

  • Java併發編程:《Java併發編程實戰》
  • JVM:《深入理解JVM虛擬機》
  • MySQL:《MySQL技術內幕》
  • 23種設計模式:《大話設計模式》
  • 數據結構與算法:《數據結構與算法分析Java語言描述》(機械出版社黑皮書),堅持刷力扣
  • 操作系統、計算機網絡
  • JDK源碼、框架源碼
  • Redis、MQ等主流中間件
  • 大數據、分佈式、微服務、容器等部分

這部分的學習可能比起前面會枯燥一些,但想要變強突破初級的瓶頸就得沉得住氣,靜下心來學習。

Java自學常見疑難解答

在自學Java前或者自學中你會不會有這樣的疑惑:

自學Java,學多久可以找到工作?

進大廠和進中小公司自學Java的側重點有區別嗎?

為什麼學了那麼久還只會“Hello World” ?

編程能力從什麼時候開始突飛猛進?

以上選項無關對錯,讓我慢慢給你嘮~

1 自學Java,學多久可以找到工作?

如果是小白的話,每天保證8小時以上的學習時間,達到Java初級程序員的水平最快也要6個月。前5個月正常學習Java技術,最後一個月準備簡歷以及面試。Java面試非常重要,要找一些面經將面試常考的問題搞明白。可以到牛客上看看別人的面試經驗也可到Github上找一下面經(這裏推薦JavaGuide(https://github.com/Snailclimb/JavaGuide))。

2 進大廠和進中小公司自學Java的側重點有區別嗎?

大廠更重基礎,需要你對學習的Java內容有透徹地理解,以及學習和理解數據結構與算法、操作系統、計算機網絡、設計模式。而小廠更重項目和框架的使用。因此不同的定位,決定了在學習和麪試準備的時候要有不同的側重點。

還要提一點,大廠都注重編程能力,會筆試算法題,對應屆生的要求更高,所以如果有條件的話一定要把劍指offer刷2-3遍,力扣最好能刷100題以上(學生的話刷200題以上)。

3 為什麼學了那麼久還只會“Hello World” ?

學那麼久只會"Hello World"就是因為只看不練或者練少了。很多人在學習時眼高手低,不去敲代碼或者只是copy一下執行,到後面碰到有難度的代碼,就發現自己啥都不會。

解決這個問題一方面是學習途中遇到的案例都要動手敲;另一方面就是要刷題鞏固,因為跟着案例,邏輯上還是有所依賴,但刷題時必須要自己充分思考才能通過。

所以自學Java,要一步一個腳印,每部分的案例都要動手去實現,並在實現的基礎上去鞏固和創新。

4 編程能力從什麼時候開始突飛猛進?

編程能力的進步靠練習,一般突飛猛進會有兩個階段。

第一個突飛猛進就是學完Java基礎部分。刷了100題左右,這時候遇到簡單邏輯題都可以輕鬆解決,自己的邏輯能力、編程能力都有不錯的提升,你會覺得自學Java這麼久,努力沒白費。

第二個突飛猛進的體會就是獨立完成一兩個項目的後端模塊時。從搭建項目、到MVC分層編寫業務邏輯代碼會讓學到的知識真正應用起來,自己會有點竊喜:哇,我自己也能寫項目啦!這時候就是編程能力的第二次突飛猛進。

當然,後面可能也會因為一些其他原因讓自己再次突飛猛進,但總的來説,想要突飛猛進,就要在短期內高強度學習、高強度敲代碼。

文章總結

通過上面自學Java的介紹,我想你對Java的學習方法和路線已經有所認識和掌握,通過一張表來複習一下。

| 學習路徑 | 主要工作學習資源 | 建議學習方式 | 建議學習時間 | | ---------------- | ------------------------------------------------------------ | ------------------------- | ------------ | | Java基礎學習階段 | 1. 回車課堂的Java入門教程(鏈接) 2.王道考研數據結構視頻和B站青島大學王卓老師的數據結構與算法專欄 | 視頻為主,工具書為輔+刷題 | 60天左右 | | JavaWeb學習階段 | B站[狂神JavaWeb入門到實戰視頻] | 視頻為主,教程網站為輔 | 30天左右 | | 框架學習階段 | 狂神系列視頻+官網文檔+項目視頻 | 視頻+文檔資料學習 | 60天左右 | | 自我提升階段 | 併發編程+JVM+MySQL+設計模式等書籍 | 書籍 | —— |

如果你覺得自己適合自學Java,必須要鼓足幹勁一鼓作氣!自學前先了解Java知識體系,掌握一些學習資源和方法,學習過程一定要多敲代碼、多回顧交流。

IT界經常流傳這麼一句話:"talk is easy,show me the code"。自學Java,就是學會寫代碼,多多練習是非常非常重要的。之後的錦上添花是懂原理,但深入理解原理是一個任重而道遠的過程。

加油吧後浪!

微信搜一搜:bigsai ,關注這個分享知識的小夥子