java后端學習路線總結


1、java語言

(1)編程基礎

基礎語法、面向對象、接口、容器、異常、泛型、反射、注解、IO

(2)jvm

類加載機制、字節碼執行機制、jvm內存模型、GC垃圾回收、JVM性能監控與故障定位、jvm調優

(3)多線程/並發

並發編程的基礎(指令重排序、原子性、並發性等)、線程池、鎖、並發容器、原子類、JUC並發工具

(4)其他

java8、集合

如:Java8的Lambda表達式、函數式接口,集合非常重要

 

2、數據結構和算法

(1)數據結構

字符串、數組、鏈表、堆、棧、隊列、二叉樹、哈希、圖

(2)算法

排序、查找、貪心、分治、動態規划、回溯

 

3、計算機網絡

ARP協議、IP協議、ICMP協議、TCP協議、UDP協議、DNS協議、HTTP協議、HTTPS協議、session、cookie

 

4、數據庫

(1)基礎

sql語句的書寫、sql語句的優化、事務、隔離級別、索引、鎖、增刪改查、三范式、表設計、主外鍵、關聯查詢(left join、right join、inner join)、數據庫函數使用、mysql的四大特性、四種隔離級別..

(2)數據庫拔高
(1)全局鎖,表鎖,行鎖,死鎖,樂觀鎖,悲觀鎖..
(2)索引,索引底層實現原理,存儲方式,如何創建索引,優化索引..

 

5、操作系統

進程、線程、並發、鎖、內存管理和調度、IO原理

 

6、設計模式

單例、工廠、代理、策略、模板方法、關聯者、適配器、責任鏈、建造者

 

7、研發工具

(1)開發工具

eclipse、IDEA、vscode

(2)Linux系統

  • 常用命令、shell腳本
  • 簡單命令(安裝jdk、數據庫、web服務器安裝、安裝redis、Nginx,在上面部署和啟動項目,觀察項目的動態日志等)

(3)代碼管理工具

SVN、Git(至少會一個)

(4)項目管理/構建工具

MavenGradle(Maven必會)

 

8、框架(后端)

(1)spring家族框架

spring(IoC、AOP)、springmvc、spring boot(自動配置、開箱即用、整合web、整合數據庫(事務問題)、整合權限(Shiro、Spring Security)、整合各種中間件(Redis、MQ、RPC框架、NIO框架))

(2)服務器軟件

web服務器(Nginx)、應用服務器(Tomcat、Jetty、Undertow)

(3)中間件

緩存(Redis(5大基礎數據類型、事務、管道、持久化、集群)、消息隊列(RocketMQ、RabbitMQ、Kafka)、RPC框架(Dubbo、gRPC、Thrift、Spring Cloud、Netty))

(4)數據庫框架

mybatis、hibernate、jpa、連接池(Druid、HikraiCP、C3P0)、分庫分表(MyCAT、Sharding-JDBC、Sharding-Sphere)

(5)搜索引擎

ElasticSearch、Solr

(6)分布式/微服務

  • 服務發現注冊(Eureka、Consul、Zookeeper、Nacos)
  • 網關(Zuul、Gateway)
  • 服務調用(Ribbon、Feign)
  • 熔斷/降級(Hystrix)
  • 配置中心(Config、Apollo、Nacos)
  • 認證和鑒權(Spring Security、OAuth2、SSO單點登錄)
  • 分布式事務(JTA接口(Atomikos組件、2PC、3PC)
  • XXA模式、TCP模式(tcc-transcation\ByteTCC、EasyTrabscation、Seata)
  • SAGA模式(ServiceComb、Seata)
  • LCN模式(tx-lcn)
  • 任務調度(Quartz、Elastic-Job)
  • 鏈路追蹤與監控(Zipkin、Sleuth、Skywalking)
  • 日志分析與監控(ElasticSearch、Logstash、Kibana))

(7)虛擬化/容器化

  • 容器技術(Docker)
  • 容器編排技術(Kubernetes、Swarm)

 

9、前端

(1)基礎

三大件(html、JavaScript、css)、jQuery、Ajax

(2)模板框架

jsp/jstl、Thymeleaf、FreeMarker、beetl

(3)組件化框架

Vue、React、Angular、Node

(4)其他

 框架(BootStrap)、日期組件(laydate)、圖表統計(echarts.js)、數據結點、(ZTree.js)、vue(使用比較廣泛的一個js組件)

 

10、運維知識

web服務器(Nginx)、應用服務器(tomcat、Jetty、Undertow)、CDN加速、持續集成/持續部署(Jenkins)、代碼質量檢查(sonar)、日志收集和分析(ELK)

 

11、緩存和操作糸統

  • redis基本數據類型和各種常用命令,數據持久化,持久化恢復
  • linux常用命令,重點學linux如何查看日志
  • 可以保存的數據類型、主動配置、高並發配置、高可用配置、樂觀鎖、悲觀鎖
  • redis主從復制,哨兵機制,redis集群搭建

 

 其它學習路線推薦:

 

MonkTangJava學習流程https://www.cnblogs.com/MonkTang/p/9204993.html

 

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM