前言——2021年10月起,即從寫本文這段時(shí)間開始,我將在英國讀一年研究生,修的是跟我本科一致的軟件工程專業(yè)。一年的時(shí)間說長不長,說短不短,利用這段時(shí)間好好把以前渾渾噩噩中遺忘的知識補(bǔ)回來,再進(jìn)行知識擴(kuò)充,自我提升還是足夠的。這正是我要開始寫文章的緣由。在這里,留下一些學(xué)習(xí)和思考的痕跡,希望能對日后的自己有所幫助!
我可能會寫一些學(xué)習(xí)筆記和總結(jié),發(fā)一些實(shí)驗(yàn)過程記錄,也會寫寫題解和刷題過程中引發(fā)的思考等。想要系統(tǒng)地補(bǔ)充和擴(kuò)充知識,則需要系統(tǒng)地梳理學(xué)習(xí)路線。我打算以后從事Java后端開發(fā),所以參考了知乎,B站上一些大佬的經(jīng)驗(yàn)分享后,做出了下面一些關(guān)于Java后端學(xué)習(xí)路線的總結(jié)。
簡單來說
學(xué)好Java,并想找到一份不錯(cuò)的工作大體上需要掌握以下五個(gè)部分:
- 技術(shù)棧,通俗來說就是Java八股文
- 計(jì)算機(jī)基礎(chǔ)——操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫等
- 數(shù)據(jù)結(jié)構(gòu)與算法
- 項(xiàng)目
- 實(shí)習(xí)
詳細(xì)來說
①編程基礎(chǔ)——
一、Java語言
1.語言基礎(chǔ):
- 基礎(chǔ)語法
- 面向?qū)ο?/li>
- 接口
- 容器
- 異常
- 泛型
- 反射
- 注解
- I/O
2.JVM
- 類加載機(jī)制
- 字節(jié)碼執(zhí)行機(jī)制
- JVM內(nèi)存模型
- GC垃圾回收
- JVM性能監(jiān)控與故障定位
- JVM調(diào)優(yōu)
3.并發(fā)、多線程
- 并發(fā)編程基礎(chǔ)
- 線程池
- 鎖
- 并發(fā)容器
- 原子類
- JUC并發(fā)工具類
二、數(shù)據(jù)結(jié)構(gòu)和算法
1.數(shù)據(jù)結(jié)構(gòu)
- 字符串
- 數(shù)組
- 鏈表
- 二叉樹
- 堆、棧、隊(duì)列
- 哈希
2.算法
- 查找
- 排序
- 貪心
- 分治
- 動態(tài)規(guī)劃
- 回溯
三、計(jì)算機(jī)網(wǎng)絡(luò)
- ARP協(xié)議
- IP/ICMP協(xié)議
- TCP/UDP協(xié)議
- DNS/HTTP/HTTPS協(xié)議
- Session/Cookie
四、數(shù)據(jù)庫/SQL
- SQL語句書寫
- SQL語句優(yōu)化
- 事務(wù)以及隔離級別
- 索引
- 鎖
五、操作系統(tǒng)
- 進(jìn)程/線程
- 并發(fā)/鎖
- 內(nèi)存管理和調(diào)度
- I/O原理
六、設(shè)計(jì)模式
- 單例
- 工廠
- 代理
- 策略
- 模板方法
- 觀察者
- 適配器
- 責(zé)任鏈
- 建造者
②研發(fā)工具——
一、集成開發(fā)工具
- Eclipse
- Intellij IDEA
- VS Code
二、Linux系統(tǒng)
- Linux常用命令
- 基本Shell腳本
三、代碼管理工具
- Git
- SVN
四、項(xiàng)目管理/構(gòu)建工具
- Maven
- Gradle
③應(yīng)用框架——
一、Spring家族
- Spring
- IoC
- AOP - Spring MVC
- Spring Boot
- 自動配置、開箱即用
- 整合Web
- 整合數(shù)據(jù)庫(事務(wù)問題)
- 整合權(quán)限(Shiro、Spring Security)
- 整合各種中間件:緩存、MQ、RPC框架、NIO框架等
二、服務(wù)器軟件
- Web服務(wù)器
- Nginx - 應(yīng)用服務(wù)器
- Tomcat
- Jetty
- Undertow
三、中間件
- 緩存
- Redis——5大數(shù)據(jù)類型、事務(wù)、消息通知、管道、持久化、集群
- memcache - 消息隊(duì)列
- RocketMQ
- RabbitMQ
- Kafka - RPC框架
- Dubbo
- gRPC
- Thrift
- Spring Cloud
- Netty
四、數(shù)據(jù)庫
- ORM層框架
- MyBatis
- Hibernate
- JPA - 連接池
- Druid
- HikariCP
- C3P0 - 分庫分表
- MyCat
- Sharding-JDBC
- Sharding-Sphere
五、搜索引擎
- ElasticSearch
- Soir
六、分布式/微服務(wù)
- 服務(wù)發(fā)現(xiàn)/注冊
- 網(wǎng)關(guān)
- 服務(wù)調(diào)用(負(fù)載均衡)
- 熔斷/降級
- 配置中心
- 認(rèn)證和鑒權(quán)
- 分布式事務(wù)
- 任務(wù)調(diào)度
- 鏈路追蹤與監(jiān)控
- 日志分析與監(jiān)控
七、虛擬化/容器化
- 容器技術(shù)
- Docker - 容器編排技術(shù)
- Kubernetes
- Swarm
④部分前端——
一、基礎(chǔ)套餐
- 三大件
- HTML
- JavaScript
- CSS - 基礎(chǔ)庫
- JQuery
- Ajax
二、模板框架
- JSP/JSTL
- Thymeleaf
- FreeMarker
三、組件化框架
Node
Vue
React
-
Angular
結(jié)語:綜上所述,可以看出,路還很長,繼續(xù)不斷努力吧!