溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

學Java的原因以及方法

發(fā)布時間:2021-06-18 15:52:08 來源:億速云 閱讀:114 作者:chen 欄目:編程語言

本篇內容介紹了“學Java的原因以及方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

前言篇

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

學Java的原因以及方法

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

你適不適合自學Java呢?

如何自學Java呢?

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

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

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

什么人適合自學Java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

學Java的原因以及方法

選擇圖

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

學Java的原因以及方法

我們這里拿計算機專業(yè)和非計算機專業(yè)比較一下。

計算機專業(yè)和非計算機專業(yè)自學Java的區(qū)別?

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

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

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

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

高效自學Java三大關鍵點

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

1 了解Java知識體系

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

什么是Java?

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

Java能干什么?

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

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

Java有哪些知識?

一、Java基礎

Java入門部分:

  • JDK、IDEA安裝,第一個HelloWorld

  • 基礎內容:輸入輸出、命名規(guī)范、注釋

  • 數(shù)據(jù)類型:基礎數(shù)據(jù)類型(及其包裝類)、引用類型

  • 修飾符:訪問修飾符、非訪問修飾符

  • 運算符:賦值、算數(shù)、自增自減、比較、邏輯、位、三元運算符及其優(yōu)先級

  • 控制流程:條件判斷、循環(huán)語句

  • 數(shù)組、字符型

  • 類與對象

  • 面向對象三大特征:繼承、封裝、多態(tài)

  • 日期、正則、大數(shù)運算(簡單了解)

Java進階部分:

  • IO常見文件操作

  • 集合框架:ArrayList、LinkedList、HashMap、HashSet、ArrayDeque等

  • 異常處理

  • 泛型

  • JDBC

  • 網(wǎng)絡編程

  • Java8新特性(Lambda)

  • 反射、注解(有點難)

二、Java高級

  • 多線程、高并發(fā)

  • 23種設計模式

  • 樹、紅黑樹、B樹、散列、堆、圖等

  • 算法:十大排序、二分查找、分治、貪心算法、位運算、回溯、動態(tài)規(guī)劃、搜索算法(bfs、dfs)、最短路徑(Dijkstra、Floyd)、最小生成樹(Prim、Kruskal)、并查集、KMP等算法

三、JavaWeb:

  • HTML、JavaScript、CSS

  • XML、JSON

  • Tomcat

  • Servlet/JSP(以Servlet為主)

  • JQuery、Ajax

  • MVC

  • Cookie、Session

  • 過濾器、監(jiān)聽器

  • 文件上傳下載(Servlet3.0)

  • Linux

四、常見框架:

  • ORM框架:Mybatis

  • Spring全家桶:Spring、SpringMVC、SpringBoot

  • 安全框架:Shiro、Spring Security(可選一種先學)

  • 其他框架:Swagger(在線接口)、Log4j2(日志)、Quartz(定時)等

  • 微服務:SpringCloud、Dubbo等

五、常見中間件和工具:

  • 版本控制:Git、SVN

  • 包管理:Maven、Gradle

  • 關系型數(shù)據(jù)庫MySQL、Oracle等

  • 非關系型數(shù)據(jù)庫:Redis(緩存)、Memcached(緩存)、MongoDB(文檔型)等

  • 搜索引擎:Elasticsearch、Solr等

  • 消息隊列:RocketMQ、ActiveMQ、RabbitMQ、Kafka等

  • Web服務器:Apache、 Nginx

  • 容器:Docker、K8S

  • 大數(shù)據(jù):Hadoop、Spark、Strom、Flink等

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

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

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

學Java的原因以及方法

看書自學Java

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

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

看視頻自學Java

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

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

看博客自學Java

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

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

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

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

圖文類的教程網(wǎng)站:

菜鳥教程: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/ 以關卡形式教學,從基礎到高級,文章內容質量比較高

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

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

視頻網(wǎng)課網(wǎng)站:

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

慕課網(wǎng):https://www.imooc.com/ 有免費有付費

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

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

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

刷題網(wǎng)站

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

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

適用ACM選手的一些刷題網(wǎng)站:杭電oj、 Codeforce、 Vjudge 、Atcoder

Java開發(fā)也要刷題嗎?那是肯定的,找工作無論大廠小廠(尤其大廠)避免不了筆試題,力扣和??蜕隙加袆χ竜ffer,建議刷2-3遍,力扣hot100一定要刷一下,如果沖擊大廠那一定要刷200道以上才行。

其他學習網(wǎng)站

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

博客園:https://www.cnblogs.com/ 老牌社區(qū),依然有很多用戶

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

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

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

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

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

V2EX :https://www.v2ex.com/ 高質量交流社區(qū)

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

推薦書籍

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

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

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

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

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

《Effective Java》----中級

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

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

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

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

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

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

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

史上最實用的Java學習路徑

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

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

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術社區(qū)

  2. Java基礎學習階段

  3. JavaWeb學習階段

  4. 框架學習階段

  5. 自我提升階段

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

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

Java基礎學習階段

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

本階段的學習推薦視頻為回車課堂的《Java入門教程》(總時長約30小時)(https://ke.boxuegu.com/sceneDetails?sceneId=10)??匆曨l的時候1.5倍數(shù)看(看不懂可以倒回來多看幾遍,最好不要原倍速看),遇到案例就暫停,自己動手跟著敲一下(劃重點,跟著敲非常重要,看懂不等于真懂)。

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

學完后,你還要檢驗自己學的怎么樣,可以通過刷一些簡單題來鞏固。我建議到杭電第11頁(http://acm.hdu.edu.cn/listproblem.php?vol=11)或者C語言網(wǎng)(https://www.dotcpp.com/oj/problemset.html)去刷一些簡單題檢驗自己,成功完成一道道題會讓自己獲得成就感,有繼續(xù)學習的動力。

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

在這個期間當然也要刷題了,但不推薦在杭電和C語言網(wǎng)刷題了,此時建議刷“劍指offer”上的題,劍指offer共計67題都是高頻筆試面試題,并且有很多都和數(shù)據(jù)結構有關系。也許剛開始刷的時候會比較吃力,力扣和??凸倬W(wǎng)對應題目討論區(qū)有很多優(yōu)質講解可以學習。

JavaWeb學習階段

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

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

學習JavaWeb除了跟視頻外,也可以跟著教程網(wǎng)站或者博客專欄進行學習(例如菜鳥教程的Servlet(https://www.runoob.com/servlet/servlet-tutorial.html)),因為跟著教程網(wǎng)站在代碼學習上效率較高,當然在學習別人代碼的時候要有自己的創(chuàng)新。

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

框架學習階段

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

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

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

推薦狂神系列視頻:

  • 狂神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開發(fā)網(wǎng)站 (https://www.bilibili.com/video/BV19E411v7Ty) 視頻長5小時左右

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

  • Spring 官方社區(qū)(https://spring.io/projects/spring-boot)

  • Mybatis官網(wǎng)文檔 (https://mybatis.org/mybatis-3/zh/index.html)

  • Mybatis-Spring文檔介紹 (http://mybatis.org/spring/zh/index.html)

  • Mybatis中文社區(qū)(非官方) (http://www.mybatis.cn/)

  • SpringBoot中文社區(qū)(非官方)(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緩存,消息隊列(選一種消息隊列學習),后面有時間再學習其他中間件。

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

自我提升階段

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

  • Java并發(fā)編程:《Java并發(fā)編程實戰(zhàn)》

  • JVM:《深入理解JVM虛擬機》

  • MySQL:《MySQL技術內幕》

  • 23種設計模式:《大話設計模式》

  • 數(shù)據(jù)結構與算法:《數(shù)據(jù)結構與算法分析Java語言描述》(機械出版社黑皮書),堅持刷力扣

  • 操作系統(tǒng)、計算機網(wǎng)絡

  • JDK源碼、框架源碼

  • Redis、MQ等主流中間件

  • 大數(shù)據(jù)、分布式、微服務、容器等部分

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

Java自學常見疑難解答

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

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

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

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

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

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

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

如果是小白的話,每天保證8小時以上的學習時間,達到Java初級程序員的水平最快也要6個月。前5個月正常學習Java技術,最后一個月準備簡歷以及面試。Java面試非常重要,要找一些面經(jīng)將面試??嫉膯栴}搞明白??梢缘脚?蜕峡纯磩e人的面試經(jīng)驗也可到Github上找一下面經(jīng)(這里推薦JavaGuide(https://github.com/Snailclimb/JavaGuide))。

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

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

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

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

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

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

所以自學Java,要一步一個腳印,每部分的案例都要動手去實現(xiàn),并在實現(xiàn)的基礎上去鞏固和創(chuàng)新。

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

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

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

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

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

文章總結

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

學Java的原因以及方法

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

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

“學Java的原因以及方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI