2021年超詳細的Java開發(fā)學習路線--純干貨


本文整理了java開發(fā)的學習路線和相關的學習資源,非常適合零基礎入門java的同學,希望大家在學習的時候,能夠節(jié)省時間。純干貨,良心推薦!
別忘了點個贊,讓更多的同學看到!
從零基礎入門到可以找到工作的程度,大約準備五個月到六個月左右的時間;科班出身,已經(jīng)學習過java、數(shù)據(jù)庫等一些課程,根據(jù)個人情況,時間適當減少。
如果你想畢業(yè)后從事java開發(fā),最好的準備時間是大三或者研二,其次是現(xiàn)在!
ps: 我問過在培訓機構培訓過java的同學,基本上列出的學習點都覆蓋了培訓的內(nèi)容,如果自己自制力強的話,就不需要花兩萬塊錢去培訓了~~
第一階段:Java基礎
學習Java開發(fā),首先要學習java基礎知識,尤其是校招的時候非常注重基礎,即使沒有項目也沒關系,基礎一定要打好,一般筆試以及面試的第一輪,對基礎的考察是比較多的。
如果是小白入門,看視頻是最有助于理解的,而且是學習最快的,后面再查缺補漏的時候,就看看書就好了,或者回頭翻一下筆記。如果已經(jīng)學過java基礎的知識,也可以直接翻一遍書,復習復習即可??匆曨l的時候不能只聽不練,建議用IDEA工具,更普遍一些。
Java教程_超全面Java基礎入門教程,零基礎小白自學Java編程必備教程_黑馬程序員Java全套教程:www.bilibili.com/video/BV18J411W7cE
推薦一本java基礎的書籍:《JAVA核心技術 卷1》,入門書籍看這一本就夠了,對照上面列出的知識點,吃透這些基礎知識,就可以了,后面的Swing、applet等等就不需要看了。
更多技術文章、面試資料、工具教程,還請移步:http://www.javatiku.cn/
第二階段:數(shù)據(jù)庫
主流的數(shù)據(jù)庫有MySQL、Oracle、SQL Server等等,你只需要搞定一個就可以了,知識都是相通的,一通百通。目前公司里用到MySQL的比較多,所以建議大家學習MySQL數(shù)據(jù)庫。
MySQL數(shù)據(jù)庫視頻:
面試必會】mysql數(shù)據(jù)庫優(yōu)化全剖析,mysql入門到精通:www.bilibili.com/video/av68811608
JDBC視頻:
尚硅谷JDBC核心技術(新版jdbc):www.bilibili.com/video/BV1eJ411c7rf
推薦書籍:
首先是《MySQL必知必會》,這本書很小,口袋書,方便隨時查閱。
深入的書籍推薦《MySQL內(nèi)核:InnoDB存儲引擎 卷1》,介紹InnoDB存儲引擎的內(nèi)核,從源代碼的角度深度解析了InnoDB的體系結(jié)構。
學習網(wǎng)站:
牛客網(wǎng)專注于校招筆試、面試,有SQL數(shù)據(jù)庫實戰(zhàn)的題目,有76道題目,有時間可以刷一刷。
SQL數(shù)據(jù)庫實戰(zhàn)題_面試必刷+解析_??皖}霸_牛客網(wǎng):https://www.nowcoder.com/ta/sql
第三階段:JavaWeb
Java開發(fā)的崗位大多是Web開發(fā),所以最好學一學前端的基礎,雖然現(xiàn)在都是前后端分離的方式,但是你要懂前端界面和后端數(shù)據(jù)是怎樣交互的,與前端工程師的溝通合作會更加順利。另外,像一些小公司要求全棧,希望招來的后端開發(fā)也能做一些前端的工作,省一些人力成本。
尚硅谷最新版JavaWeb全套教程,java web零基礎入門完整版:www.bilibili.com/video/BV1Y7411K7zz
更多技術文章、面試資料、工具教程,還請移步:http://www.javatiku.cn/
第四階段:框架
如果時間非常緊張,可以直接看Springboot和Mybatis,SpringBoot簡化配置,非常好理解,這兩個框架學完,就能看懂項目了,理解的深度肯定有限的。
下面這個視頻著重介紹SpringBoot的使用和內(nèi)部原理,包含微服務概念、配置文件、日志框架的使用、web開發(fā)、Thymeleaf模板引擎、Docker容器技術等等。
尚硅谷SpringBoot頂尖教程(springboot之idea版spring boot):www.bilibili.com/video/BV1gW411W76m
Mybatis的視頻主要講的是配置文件編寫、動態(tài)SQL、MyBatis緩存機制、MyBatis-Spring整合、MyBatis逆向工程,MyBatis高級內(nèi)容(MyBatis源碼解析,MyBatis單/多插件運行機制,MyBatis四大對象工作原理,自定義TypeHandler、MyBatis存儲過程&游標處理等)。
尚硅谷MyBatis實戰(zhàn)教程全套完整版(初學者零基礎從入門到精通,好評如潮,資料齊全):www.bilibili.com/video/BV1mW411M737
時間寬裕的情況下,Spring、SpringMVC都學習一下,搞懂 AOP 和 IOC 兩個概念,以及Spring 中 bean 的作用域與生命周期、SpringMVC 工作原理,對理解Spring相關的框架非常重要。
最新(idea版) mybatis-spring-springmvc-Java一站式學習 -java框架-ssm框架-idea-更新完畢:www.bilibili.com/video/BV1mE411X7yp
從框架開始,就不用看書了,基礎的知識多看看書,實踐性強、應用性強的知識,多實踐實踐,看看源碼,會比看書更有幫助,而且Spring相關的書,也沒看到寫得好的。
管理系統(tǒng)的項目:
學完框架后,你可以做一個管理系統(tǒng)的項目了,給大家推薦一個管理系統(tǒng)的項目--若依,這是一個基于SpringBoot的權限管理系統(tǒng),雖然“若依”這個名字聽起來很不科技感,但這個項目是非常好的,非常適合入門學習,有文檔、有代碼,社區(qū)里討論的人也比較多。它有前后端不分離和前后端分離的兩個版本。學到這里,你大概能看懂這個項目了~~
前后端不分離的版本:
經(jīng)典技術組合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf
若依/RuoYi:https://gitee.com/y_project/RuoYi
前后端分離的版本:
- 前端采用Vue、Element UI。
- 后端采用Spring Boot、Spring Security、Redis & Jwt。
若依/RuoYi-Vue:https://gitee.com/y_project/RuoYi-Vue
學到這里就可以滿足找工作的基本要求了,如果著急找工作,跳過第五階段和第六階段,直接看第七階段的面試準備。
第五階段:其他熱門技術
Redis數(shù)據(jù)庫學習:
【java基礎教程】112節(jié)Redis入門到精通:www.bilibili.com/video/av76235738
Nginx反向服務代理:
尚硅谷Nginx教程由淺入深(一套打通丨初學者也可掌握:www.bilibili.com/video/BV1zJ411w7SV
Docker:
【java教程】深入解析docker容器化技術:www.bilibili.com/video/av69121091
ZooKeeper 分布式協(xié)調(diào)服務技術+Dubbo高性能的 RPC 服務發(fā)布和調(diào)用框架:
中級程序員必會的高薪技能之快速入門Zookeeper+dubbo【黑馬程序員】:www.bilibili.com/video/av74933720
Spring Cloud:
尚硅谷最新版SprinGCloud(H版&alibaba)框架開發(fā)教程全套完整版從入門到精通(大牛講授spring cloud):www.bilibili.com/video/BV18E411x7eT
RocketMQ:
RocketMQ系統(tǒng)精講,經(jīng)受歷年雙十一狂歡節(jié)考驗的分布式消息中間件:www.bilibili.com/video/av66702383
更多技術文章、面試資料、工具教程,還請移步:http://www.javatiku.cn/
第六階段:java商城項目
商城項目的視頻(微服務+分布式+全棧+集群+部署+自動化運維+可視化CICD):
全網(wǎng)最強電商教程《谷粒商城》對標阿里P6/P7,40-60萬年薪:www.bilibili.com/video/BV1np4y1C7Yf
第七階段:Java面試準備
尚硅谷出了三季的面試視頻,我看過第二季,周陽老師講的還不錯,都是大廠??汲柕狞c,視頻鏈接如下。
第一季是JavaSE、SSM、框架高級、電商項目中的基礎知識點。每個視頻由淺入深的講解,幫助大家更好地應對面試,并全方位掌握Java的核心技術點。
[尚硅谷經(jīng)典Java面試題第一季(java面試精講):www.bilibili.com/video/BV1Eb411P7bP
第二季主要是JUC多線程并發(fā)、JVM和GC等大廠筆試中會考、面試中會問、工作中會用的高頻難點知識。?
[尚硅谷Java大廠面試題第二季(java面試必學,周陽主講):www.bilibili.com/video/BV18b411M7xz
第三季的內(nèi)容也是各大廠??汲柕母哳l經(jīng)典Java知識,包括JUC的AQS,Spring循環(huán)依賴和三級緩存,Redis內(nèi)存打滿、分布式鎖和過期淘汰策略,以及數(shù)據(jù)結(jié)構和手寫算法等多個技術維度,涵蓋面廣內(nèi)容深,題目困難要求高。
[尚硅谷2021逆襲版Java面試題第三季(java大廠面試題,周陽主講):www.bilibili.com/video/BV1Hy4y1B78T
除了上述關于Java開發(fā)知識的面試準備之外,還要刷一刷算法題。大廠最愛考算法題,從筆試到每一輪的面試,都會考察的。為什么要刷題,因為面試官出的題基本上是在書上或者網(wǎng)上看到的,面試官也沒有時間研究新題,所以多刷題命中率很高的。
推薦一本書,《劍指Offer》,面試中經(jīng)常問到這本書上的算法題或者變形題,我刷了兩遍,Python一遍,Java一遍,都整理了筆記,雖然這本書中的算法題隨便一搜就能搜出大量博客,但是還是書中講的詳細,提供的解題方法多,帶領讀者思考。?
最后再推薦一個學習網(wǎng)站,LeetCode,可能大家也都聽說過,是一個刷算法題的網(wǎng)站,支持Java、Python、C++等各種語言,題目分為簡單、中等和困難三種模式。
剛開始刷算法題,吃力是正常的,所以大家不要懷疑自己智商。知乎上經(jīng)??吹竭@樣的問題:“初刷leecode時會懷疑自己智商嗎”“刷leetcode吃力正常嗎”“l(fā)eetcode刷了忘怎么辦”......? ?這都是正常的,除了天才和絕頂聰明的人之外,我們大家都一樣,都會刷了忘忘了刷,也會做不出來需要看看答案。。。
更多技術文章、面試資料、工具教程,還請移步:http://www.javatiku.cn/
我的建議是:
- 把簡單題和中等題多刷一些,hard 的就不要勉強自己了,hard的不會也正常
- 按類型刷題,先刷數(shù)組,然后鏈表,然后二叉樹、動態(tài)規(guī)劃等等
- 做完一道題,不要以“通過”就滿足,再想想有沒有更優(yōu)的解法,多想幾遍加深印象
- 反復刷,尤其是面試前要反復刷,使自己在做題的一種氛圍中
中文網(wǎng)址:
題庫 - 力扣 (LeetCode):https://leetcode-cn.com/problemset/all