Java后端學(xué)習(xí)路線梳理

前言——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ù)不斷努力吧!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容