學(xué)Java的原因以及方法

本篇內(nèi)容介紹了“學(xué)Java的原因以及方法”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站來電聯(lián)系:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)建站網(wǎng)頁制作領(lǐng)域十年,包括成都紗窗等多個方面擁有多年的網(wǎng)站營銷經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)建站,為網(wǎng)站保駕護(hù)航。

前言篇

無論你是大學(xué)生還是在職人員,想學(xué)Java時(shí),都會面臨兩個選擇,自學(xué)或者報(bào)班。報(bào)班通常太費(fèi)錢,時(shí)間又不自由;自學(xué)又不知道如何下手,擔(dān)心自己堅(jiān)持不下來。怎么辦呢?

學(xué)Java的原因以及方法

本文將解答你自學(xué)Java的N種問題:

你適不適合自學(xué)Java呢?

如何自學(xué)Java呢?

有沒有靠譜的Java自學(xué)資料推薦?

怎樣讓自己看到進(jìn)步,堅(jiān)持下來?

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

什么人適合自學(xué)Java

在自學(xué)前你可能會因?yàn)樽陨淼臈l件有很多困惑和疑慮,不清楚自己是否適合自學(xué)Java。下面我們來做個測驗(yàn),來檢測一下你是否適合自學(xué)Java。

第一道題:你對學(xué)習(xí)Java的信念有多強(qiáng)?

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

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

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

如果你學(xué)習(xí)Java只是興趣提升,那么你無論是自學(xué)或者報(bào)班怎么學(xué)都是適合的,因?yàn)槟悴徊顣r(shí)間。那么后面的考驗(yàn)題你也可以直接跳過,看后面的干貨。

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

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

但如果你小于30歲的話,那你的客觀條件還是可以學(xué)習(xí)Java的。剩下的就要考驗(yàn)?zāi)愕淖钥亓鸵懔α恕?/p>

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

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

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

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

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

學(xué)Java的原因以及方法

選擇圖

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

學(xué)Java的原因以及方法

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

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

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

而非計(jì)算機(jī)專業(yè)在自學(xué)Java時(shí),會因?yàn)橛性瓕I(yè)課程、作業(yè)的限制,學(xué)習(xí)時(shí)間相比計(jì)算機(jī)專業(yè)學(xué)生少了不少,但這些問題是可以被克服解決的,可以多花一些課余時(shí)間、周末時(shí)間,學(xué)習(xí)練習(xí)Java,也可蹭一蹭計(jì)算機(jī)專業(yè)開設(shè)的Java課程,多與計(jì)算機(jī)相關(guān)專業(yè)同學(xué)交流碰撞。自學(xué)Java的心態(tài)也很重要,不要因?yàn)楸槐緦I(yè)課程拖累而埋怨,要樂觀地去面對學(xué)習(xí)上的困難,有長遠(yuǎn)的眼光,陽光總在風(fēng)雨后!

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

當(dāng)你適合自學(xué)的時(shí)候,那么你就要尋求好的方法提高自學(xué)Java的效率,如何做呢?看看下面內(nèi)容吧~

高效自學(xué)Java三大關(guān)鍵點(diǎn)

這里我總結(jié)了三大點(diǎn),分別從認(rèn)識、方法、反饋角度來寫,其中一定有適合你的方案!

1 了解Java知識體系

自學(xué)Java前,要對Java和Java體系知識有一定認(rèn)識,心中有個大概的輪廓去學(xué)習(xí),方能更踏實(shí)。通過幾個問題了解Java。

什么是Java?

Java是一種可以撰寫跨平臺應(yīng)用程序的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。簡單說,Java就是一種語言,不過是一種跑在JVM上的語言,Java編譯后是字節(jié)碼,而JVM會把這些字節(jié)碼解釋成機(jī)器碼,然后做出相應(yīng)的動作。

Java能干什么?

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

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

Java有哪些知識?

一、Java基礎(chǔ)

Java入門部分:

  • JDK、IDEA安裝,第一個HelloWorld

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

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

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

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

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

  • 數(shù)組、字符型

  • 類與對象

  • 面向?qū)ο笕筇卣鳎豪^承、封裝、多態(tài)

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

Java進(jìn)階部分:

  • IO常見文件操作

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

  • 異常處理

  • 泛型

  • JDBC

  • 網(wǎng)絡(luò)編程

  • Java8新特性(Lambda)

  • 反射、注解(有點(diǎn)難)

二、Java高級

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

  • 23種設(shè)計(jì)模式

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

  • 算法:十大排序、二分查找、分治、貪心算法、位運(yùn)算、回溯、動態(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(可選一種先學(xué))

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

  • 微服務(wù):SpringCloud、Dubbo等

五、常見中間件和工具:

  • 版本控制:Git、SVN

  • 包管理:Maven、Gradle

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

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

  • 搜索引擎:Elasticsearch、Solr等

  • 消息隊(duì)列:RocketMQ、ActiveMQ、RabbitMQ、Kafka等

  • Web服務(wù)器:Apache、 Nginx

  • 容器:Docker、K8S

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

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

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

自學(xué)Java一般有書籍、視頻、博客等學(xué)習(xí)資料,這里主要講解三者在自學(xué)Java中的異同點(diǎn)。

學(xué)Java的原因以及方法

看書自學(xué)Java

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

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

看視頻自學(xué)Java

比起書籍,更多人愿意看視頻自學(xué)Java,因?yàn)榭磿鴷r(shí)大部分人會覺得比較枯燥。但是視頻就不一樣了,視頻中老師們通常會邊敲邊講解,更易于知識點(diǎn)的理解,并且人是感性動物,看視頻就如同與老師交流,好的老師會讓學(xué)習(xí)效率直接翻倍。

看視頻當(dāng)然也會有些缺點(diǎn),視頻時(shí)間較長較多,很難快速回顧學(xué)過的知識或者快速瀏覽章節(jié)內(nèi)容,所以有可能會浪費(fèi)一點(diǎn)學(xué)習(xí)的時(shí)間。

看博客自學(xué)Java

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

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

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

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

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

菜鳥教程:https://www.runoob.com/java/java-tutorial.html 教程免費(fèi),適合基礎(chǔ)入門

W3Cschool:https://www.w3cschool.cn/ 教程免費(fèi),適合基礎(chǔ)入門

易百教程:https://www.yiibai.com/ 教程免費(fèi),適合基礎(chǔ)入門

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

回車課堂:https://ke.boxuegu.com/ 以關(guān)卡形式教學(xué),從基礎(chǔ)到高級,文章內(nèi)容質(zhì)量比較高

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

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

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

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

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

B站:https://www.bilibili.com/ 有"B站大學(xué)"美稱

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

當(dāng)然,獲取視頻教程還有一個途徑就是向別人要,很多公眾號號主將資源分享在公眾號后臺可以免費(fèi)獲得,還有一些資源可以通過淘寶和咸魚低價(jià)獲取網(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道以上才行。

其他學(xué)習(xí)網(wǎng)站

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

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

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

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

思否:https://segmentfault.com/ 文章內(nèi)容質(zhì)量不錯,問答質(zhì)量較高

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

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

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

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

推薦書籍

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

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

《JAVA語言程序設(shè)計(jì)》----初級

《JAVA核心技術(shù)》卷I----初級、《JAVA核心技術(shù)》卷II----中級

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

《Effective Java》----中級

在跟著書籍學(xué)習(xí)的時(shí)候,有困難的內(nèi)容也可以先放一放,還有Java Swing等窗口應(yīng)用部分也可跳過。這些書不需要全買,有一本工具書就足夠了。

3 回顧與交流,牢牢鎖住知識點(diǎn)

學(xué)習(xí)很容易遺忘,因此要時(shí)?;仡櫋2煌扑]視頻作為長期回顧的方法,更推薦博客、紙質(zhì)書回顧,因?yàn)樗鼈兛梢钥焖俣ㄎ?,很多?nèi)容看一遍就想起來了。

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

和身邊人交流:最方便和高效的交流方式就是和身邊同學(xué)、舍友、一起學(xué)習(xí)的人進(jìn)行交流,一起學(xué)習(xí)進(jìn)步共享學(xué)習(xí)的心得;

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

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

史上最實(shí)用的Java學(xué)習(xí)路徑

上面已經(jīng)介紹了高效自學(xué)Java的關(guān)鍵點(diǎn),下面來推薦實(shí)用的Java自學(xué)路徑。

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

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

  2. Java基礎(chǔ)學(xué)習(xí)階段

  3. JavaWeb學(xué)習(xí)階段

  4. 框架學(xué)習(xí)階段

  5. 自我提升階段

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

這里我推薦的自學(xué)路徑,以視頻為主。因?yàn)镴ava路徑中的各個階段相對獨(dú)立,不必追求一家視頻,但同一階段建議看一家視頻。

Java基礎(chǔ)學(xué)習(xí)階段

該階段對應(yīng)Java知識體系中的Java基礎(chǔ),方法為學(xué)習(xí)+刷題,每天學(xué)習(xí)8小時(shí),推薦總時(shí)間控制在60天左右,推薦以視頻為主,工具書為輔。

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

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

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

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

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

JavaWeb學(xué)習(xí)階段

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

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

學(xué)習(xí)JavaWeb除了跟視頻外,也可以跟著教程網(wǎng)站或者博客專欄進(jìn)行學(xué)習(xí)(例如菜鳥教程的Servlet(https://www.runoob.com/servlet/servlet-tutorial.html)),因?yàn)楦坛叹W(wǎng)站在代碼學(xué)習(xí)上效率較高,當(dāng)然在學(xué)習(xí)別人代碼的時(shí)候要有自己的創(chuàng)新。

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

框架學(xué)習(xí)階段

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

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

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

推薦狂神系列視頻:

  • 狂神Mybatis教程:(https://www.bilibili.com/video/BV1NE411Q7Nx) 視頻長11小時(shí)左右

  • 狂神Spring教程:(https://www.bilibili.com/video/BV1WE411d7Dv) 視頻長8小時(shí)左右

  • 狂神SpringMVC教程:(https://www.bilibili.com/video/BV1aE41167Tu) 視頻長10小時(shí)左右

  • 狂神SSM整合教程:(https://www.bilibili.com/video/BV1RE41127rv) 視頻長3小時(shí)左右

  • 狂神SpringBoot教程:(https://www.bilibili.com/video/BV1PE411i7CV) 視頻長19小時(shí)左右

  • 狂神SpringBoot開發(fā)網(wǎng)站 (https://www.bilibili.com/video/BV19E411v7Ty) 視頻長5小時(shí)左右

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

  • 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)

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

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

自我提升階段

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

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

  • JVM:《深入理解JVM虛擬機(jī)》

  • MySQL:《MySQL技術(shù)內(nèi)幕》

  • 23種設(shè)計(jì)模式:《大話設(shè)計(jì)模式》

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

  • 操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)

  • JDK源碼、框架源碼

  • Redis、MQ等主流中間件

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

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

Java自學(xué)常見疑難解答

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

自學(xué)Java,學(xué)多久可以找到工作?

進(jìn)大廠和進(jìn)中小公司自學(xué)Java的側(cè)重點(diǎn)有區(qū)別嗎?

為什么學(xué)了那么久還只會“Hello World” ?

編程能力從什么時(shí)候開始突飛猛進(jìn)?

以上選項(xiàng)無關(guān)對錯,讓我慢慢給你嘮~

1 自學(xué)Java,學(xué)多久可以找到工作?

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

2 進(jìn)大廠和進(jìn)中小公司自學(xué)Java的側(cè)重點(diǎn)有區(qū)別嗎?

大廠更重基礎(chǔ),需要你對學(xué)習(xí)的Java內(nèi)容有透徹地理解,以及學(xué)習(xí)和理解數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、設(shè)計(jì)模式。而小廠更重項(xiàng)目和框架的使用。因此不同的定位,決定了在學(xué)習(xí)和面試準(zhǔn)備的時(shí)候要有不同的側(cè)重點(diǎn)。

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

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

學(xué)那么久只會"Hello  World"就是因?yàn)橹豢床痪毣蛘呔毶倭?。很多人在學(xué)習(xí)時(shí)眼高手低,不去敲代碼或者只是copy一下執(zhí)行,到后面碰到有難度的代碼,就發(fā)現(xiàn)自己啥都不會。

解決這個問題一方面是學(xué)習(xí)途中遇到的案例都要動手敲;另一方面就是要刷題鞏固,因?yàn)楦咐?,邏輯上還是有所依賴,但刷題時(shí)必須要自己充分思考才能通過。

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

4 編程能力從什么時(shí)候開始突飛猛進(jìn)?

編程能力的進(jìn)步靠練習(xí),一般突飛猛進(jìn)會有兩個階段。

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

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

當(dāng)然,后面可能也會因?yàn)橐恍┢渌蜃屪约涸俅瓮伙w猛進(jìn),但總的來說,想要突飛猛進(jìn),就要在短期內(nèi)高強(qiáng)度學(xué)習(xí)、高強(qiáng)度敲代碼。

文章總結(jié)

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

學(xué)Java的原因以及方法

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

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

“學(xué)Java的原因以及方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

本文題目:學(xué)Java的原因以及方法
標(biāo)題鏈接:http://muchs.cn/article42/iiochc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站收錄、電子商務(wù)、網(wǎng)站改版全網(wǎng)營銷推廣、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營