現在網際網路環境這麼差,Java還能學嗎? 學Java還能找到工作嗎?
大家好呀, 我是程式設計師回家養豬, 一個專升本, 三段實習經歷拿下大廠SSP offer的程式設計師博主.
關於我的個人經歷, 之前文章有聊過了。
雖然現在Java開發的行情確實比以前要差很多,但是差並不是光Java開發差,是所有行業都變差了。綜合來看,Java後端開發依舊是價效比非常高的一個方向。
那麼這一期來聊聊Java後端開發的學習路線吧。
首先要明確你的目標是什麼,你是要進大廠還是要進中廠?還是要進小廠?
大廠有大廠的技術要求,小廠有小廠的技術要求。
進大廠所需要學的知識肯定是和進小廠不一樣的。進大廠的學習路線肯定也是和進小廠不一樣的。
特點
這一篇學習路線和其他學習路線不太一樣, 主要有以下特點
-
根據目標定計劃
- 小廠(入門階段)怎麼學,中廠(進階階段)怎麼學,大廠(高階階段)怎麼學
-
快,短而精, 去掉了一些非必須的知識
- 短並不意味著要跳著學, 學習曲線十分平滑, 不會學的很難受
-
詳細到知識點, 哪些知識點是哪個階段的重點
-
每個點都會給出學習建議
-
必看的影片推薦, 專案推薦 (都是精品中的精品)
- 一條線, 不會告訴你既可以學這個又可以學那個, 既可以看這個又可以看那個.
- 不會給初學者搞暈, 只給你一條路徑, 一條線學下去就行了
b站也有學習路線講解影片
【大廠SSP的Java學習路線,零基礎,分階段,極簡的自學程式設計指南,全網最全面最貼心】 https://www.bilibili.com/video/BV1ExmhYVERA/?share_source=copy_web&vd_source=dbae968b96c316f9084e2b52adeabb5d
小廠 - Java後端學習路線
重點與目標
- 基本的後端crud開發能力
- redis, mq等中介軟體的基本使用
- 簡單八股文
學習路線
完整的學習路線思維導圖太大了, 截圖放不下. 文章末尾會放完整的學習路線思維導圖和程式設計大禮包的領取方式, 直接領取即可, 都是免費的.
筆記工具
- 本地筆記: typora
- 雲筆記: 語雀
JavaSE
- 必學
- 知識點
- 基本語法
- 物件導向
- 常用工具類
- 集合與泛型
- 異常處理
- 學習建議
- 必學知識, 多寫程式碼, 多寫案例
- 理解程式設計的基本語法, 理解物件導向的基本思想
- 知識點
- 瞭解
- 知識點
- IO流
- 多執行緒
- 註解
- 反射
- java8新特性
- 學習建議
- 瞭解即可,知道有這個東西,知道幹啥用的即可
- 需要用的時候再查
- 知識點
- 推薦課程
- 尚矽谷宋紅康老師Java課
- https://www.bilibili.com/video/BV1Kb411W75N/?spm_id_from=333.337.search-card.all.click
MySQL
- 知識點
- 表操作DDL
- 增刪改DML
- 查詢
- 單表查詢
- 複雜查詢
- 多表查詢
- 常用函式
- 約束
- 事務
- 推薦課程
- 黑馬程式設計師 MySQL (基礎篇)
- https://www.bilibili.com/video/BV1Kr4y1i7ru/?spm_id_from=333.999.0.0&vd_source=42db8244c1ec9b601d4410f49b3f3477
- 學習建議
- 影片不必全部看完, 只學基礎篇即可.
- 非常重要, 基本的crud和事務一定要學明白, 多敲多寫
後端開發
知識點
- 瞭解前端
- 構建與包管理工具: maven
- JavaWeb
- ajax, json, xml
- Servlet
- Filter
- Cookie
- Session
- Springboot
- Spring
- IOC
- AOP
- 事務相關
- 常考八股
- SpringMVC
- MVC
- 註解使用, 請求響應處理
- Restful
- 攔截器
- 整合其他框架
- MyBatis
- CRUD
- 分頁查詢
- 多表查詢
- 動態sql
- Mybatis plus
- MyBatis
- Spring
學習建議
- 後端最核心的課程, 幹活必用的工具
推薦課程
- 黑馬程式設計師JavaWeb開發教程
- https://www.bilibili.com/video/BV1m84y1w7Tb/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
專案
瑞吉外賣
- SpringBoot+Mybatis的crud專案
- 版本管理工具 - git
- redis
- linux
- nginx
推薦課程
- 瑞吉外賣
- https://www.bilibili.com/video/BV13a411q753/?spm_id_from=333.999.0.0&vd_source=42db8244c1ec9b601d4410f49b3f3477
學習建議
- 一定要動手敲程式碼, 解決開發中的問題
- 學習專案搭建, 開發, 部署的整個流程
- 學到這裡恭喜你已經具備了企業開發的基本能力。這時候其實可以嘗試找一個mini廠去實習了
版本管理工具
git
- 學習建議
- 必學, 會用即可, 不必深入學習
計算機基礎
資料結構
- 線性表/陣列
- 連結串列
演算法
- 排序
- 氣泡排序
- 查詢
- 二分查詢
設計模式
- 單例
- 工廠
學習建議
- 小廠對計算機基礎考察很少
- 只需要學習基本的就夠用了
中介軟體
Redis
- 知識點
- 基本命令
- redis基礎資料結構
- 快取
- 快取擊穿
- 快取穿透
- 快取雪崩
- 淘汰機制與持久化策略
- 快取與資料庫一致性的問題
- 推薦課程
- 黑馬點評redis (基礎篇與實戰篇)
- https://www.bilibili.com/video/BV1cr4y1671t/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
- 學習建議
- 影片只看基礎篇和實戰篇即可
- 面試重點, 一定要學明白, 想明白
MQ - RabbitMQ
-
知識點
- 基本使用
- 解耦, 非同步, 削峰
-
推薦課程
- 黑馬程式設計師RabbitMQ
- https://www.bilibili.com/video/BV1mN4y1Z7t9/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
-
學習建議
- 影片不必全部看完, 看標記知識點, 基本會用即可
運維相關
- linux
- 基本命令
- 會看日誌
- vim使用
八股文
- ConcurrentHashMap
- Spring系列八股文
- MySQL, Redis, MQ簡單八股文
學習建議
- 面試常考內容, 對入門階段的同學要求不會很高, 常見的八股文能說出來即可
中廠 - Java後端學習路線
重點與目標
- mysql, redis, mq等中介軟體高階篇
- jvm juc與常見八股文的學習
- 基本的計算機基礎知識
- 簡單演算法題
學習路線
完整的學習路線思維導圖太大了, 截圖放不下. 文章末尾會放完整的學習路線思維導圖和程式設計大禮包的領取方式, 直接領取即可, 都是免費的.
前置知識
- 必須先確保自己學完了 小廠(入門)-Java學習路線
JavaSE
- 多執行緒
- java8新特性
- 反射
MySQL
知識點
- 事務
- 儲存引擎
- 索引
- SQL最佳化
推薦課程
- 黑馬程式設計師 MySQL (基礎篇)
- https://www.bilibili.com/video/BV1Kr4y1i7ru/?spm_id_from=333.999.0.0&vd_source=42db8244c1ec9b601d4410f49b3f3477
學習建議
- 影片從進階篇開始學完標記為2的知識點即可
- 非常重要, 面試的高頻考點
中介軟體
Redis
- 知識點
- 快取
- 快取擊穿
- 快取穿透
- 快取雪崩
- 分散式鎖
- 分散式會話
- 快取與資料庫一致性的問題
- 快取
- 推薦課程
- 黑馬點評redis (實戰篇與高階篇)
- https://www.bilibili.com/video/BV1cr4y1671t/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
- 學習建議
- 影片只看實戰篇與高階篇即可
- 面試重點, 一定要學明白, 想明白
MQ
-
RabbitMQ
- 訊息的可靠性
- 死信佇列/延遲佇列/惰性佇列/...
-
RocketMQ
- 選學
-
Kafka
- 選學
-
推薦課程
-
黑馬程式設計師RabbitMQ
-
https://www.bilibili.com/video/BV1mN4y1Z7t9/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
-
Nginx
- 瞭解即可, 不必太深入學習
專案
黑馬點評redis (實戰篇與高階篇)
-
https://www.bilibili.com/video/BV1cr4y1671t/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
-
學習建議
- 黑馬點評不僅是講redis的課程, 而且是極好的專案
- 影片只看實戰篇與高階篇即可, 學會了專案亮點就有了
- stream相關可以直接用MQ代替, 不必完全按照課程寫
計算機基礎
資料結構
- 棧
- 佇列
- 雜湊表
演算法
- 排序
- 堆排序
- 歸併排序
- 快速排序
- 查詢
- 二分查詢
- 分治
- 貪心
- 回溯
- 搜尋
- bfs
- dfs
作業系統
- 基礎知識
- 使用者態/核心態
- 系統呼叫, 中斷, 異常, 陷入
- 程序與執行緒
- 程序與執行緒比較
- 程序三種狀態
- 程序通訊
- 程序排程演算法
- 同步與互斥
- 死鎖
計算機網路
- 網路分層
- OSI分層
- TCP/IP分層
- 資料鏈路層
- MAC地址
- ARP協議
- 網路層
- IP相關
- 傳輸層
- UDP特點
- TCP
- 三次握手, 四次揮手
- 可靠傳輸
- 流量控制
- 擁塞控制
- 應用層
- DNS
- HTTP
- FTP
計算機組成原理
- 二進位制
- 進位制轉換
- 原始碼反碼補碼
設計模式
- 單例
- 工廠
推薦資料
- 小林coding
- https://xiaolincoding.com/
Java底層
JVM
- 記憶體結構
- 垃圾回收
- 類載入
JUC
- 鎖
- synchronized
- ReentrantLock
- CAS
- AQS
- 執行緒池
- 併發工具類
- ConcurrentHashMap
- ...
運維相關
linux
- vim使用
- shell指令碼
八股文
MySQL相關八股文
Redis相關八股文
MQ相關八股文
併發與鎖相關八股文
學習建議
- 面試常考內容, 一定要熟練掌握
- 不要死記硬背, 理解記憶, 要想明白在專案中是怎麼用的
推薦資料
- 小林coding
- https://xiaolincoding.com/
- javaguide
- https://javaguide.cn/
演算法題
學習演算法思想: 程式碼隨想錄
- https://www.programmercarl.com/
面試常考題: code top
- https://codetop.cc/
學習建議
- 這個階段演算法題考的比較基礎, 不必學太深入
- 建議每天刷一兩道簡單演算法題, 瞭解基本的演算法思想, 學會寫基本演算法題即可
大廠 - Java後端學習路線
由於目前文章太長了, 所以大廠的Java學習路線會放在下一期. 敬請期待吧.
程式設計大禮包和資料
關注公眾號: 程式設計師回家養豬
傳送: "Java後端開發學習路線"
即可領取全部學習路線思維導圖(pdf版和xmind版)和程式設計大禮包
程式設計大禮包內含typora(pojie版), idea(pojie版), jdk, mysql等常用安裝包.
有些同學可能在想領個資料為什麼這麼麻煩, 因為都是個人原創的學習路線. 創作, 蒐集資料十分不易, 所以還是希望如果對你有幫助的話能支援一下.