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

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

2021-04-17 11:08:28 其他

首發公眾號: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選手的一些刷題網站:杭電oj、 Codeforce、 Vjudge 、Atcoder

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小時左右

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

  • Spring 官方社區https://spring.io/projects/spring-boot
  • Mybatis官網檔案 https://mybatis.org/mybatis-3/zh/index.html
  • Mybatis-Spring檔案介紹 http://mybatis.org/spring/zh/index.html
  • Mybatis中文社區 http://www.mybatis.cn/
  • SpringBoot中文社區https://springboot.io/
  • 方志明的個人博客(SpringBoot,SpringCloud教程) https://www.fangzhipeng.com/
  • 程式員DD的個人博客(SpringBoot,SpringCloud) https://blog.didispace.com/categories/Spring-Boot/
  • 孤傲蒼狼的Mybatis專欄:https://www.cnblogs.com/xdp-gacl/category/655890.html
  • 純潔的微信SpringBoot Github倉庫:https://github.com/ityouknow/spring-boot-examples

除了以上框架,還要學習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,就是學會寫代碼,多多練習是非常非常重要的,之后的錦上添花是懂原理,但深入理解原理是一個任重而道遠的程序,

加油吧后浪!

感謝你的閱讀,咱們下次再見!另外,除了上面的資源,我也囤了一些pdf書籍資源和面試資料,如果需要的話,可以在我的公眾號:bigsai 關注后回復【bigsai】即可獲取,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277027.html

標籤:其他

上一篇:計算機網路專業術語系列--Chapter 2 應用層

下一篇:Nmap工具淺談

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more