Java后端学习路线
Java后端学习路线
参考UP主CodeSheep
编程基础
Java语言
语言基础
- 基础语法
- 面向对象
- 接口
- 容器
- 异常
- 泛型
- 反射
- 注解
- I/O
- 图形化(基本不学)
JVM
- 类加载机制
- 字节码执行机制
- JVM内存模型
- GC垃圾回收
- JVM性能监控与故障定位
- JVM调优
并发/多线程
- 并发编程基础
- 线程池
- 锁
- 并发容器
- 原子类
- JUC并发工具类
数据结构预算法
数据结构
- 字符串
- 数组
- 链表
- 二叉树
- 堆、栈、队列
- 哈希
算法
- 查找
- 排序
- 贪心
- 分治
- 动态规划
- 回溯
计算机网络
- ARP协议
- IP/ICMP协议
- TCP/UDP协议
- DNS/HTTP/HTTPS协议
- Session/Cookie
数据库/SQL
- SQL语句书写
- SQL语句优化
- 事物以及隔离级别
- 索引
- 锁
操作系统
- 进程/线程
- 并发/锁
- 内存管理与调度
- I/O原理
设计模式
- 单例
- 工厂
- 代理
- 策略
- 模板方法
- 观察者
- 适配器
- 责任链
- 建造者
研发工具
集成开发环境
- Eclipse
- Intellij IDEA
- VS Code
Linux系统
- Linux常用命令
- 基本Shell脚本
代码管理工具
- Git
- SVN
项目管理/构建工具
- Maven
- Gradle
应用框架
后端
Spring家族
- Spring
-
- IOC
-
- AOP
- Spring MVC
- Spring Boot
-
- 自动配置、开箱即用
-
- 整合Web
-
- 整合数据库(事务问题)
-
- 整合权限
-
-
- Shiro
-
-
-
- Spring Security
-
-
- 整合各种中间件:缓存、MQ、RPC框架、NIO框架
服务器软件
- Web服务器
-
- Nginx
- 应用服务器
-
- Tomcat
-
- Jetty
-
- Undertow
中间件
Redis
- 5大数据类型
- 事务
- 消息通知
- 管道
- 持久化
- 集群
memcache
数据库
ORM层框架
- MyBatis
- Hibernate
- JPA
连接池
- Druid
- HikariCP
- C3P0
分库建表
- MyCat
- Sharding-JDBC
- Sharding-Sphere
搜索引擎
- ElasticSearch
- Solr
分布式/微服务
服务发现/注册
- Eureka
- Consul
- Zookeeper
- Nacos
网关
- Zuul
- Gateway
服务调用(负载均衡)
- Ribbon
- Feign
熔断/降级
- Hystrix
配置中心
- Config
- Apollo
- Nacos
认证和鉴权
- Shiro
- Spring Security
- OAuth2
- SSO
分布式事务
- JTA接口----Atomikos组件
- 2PC、3PC
- XA模式
- TCC模式
-
- tcc-transaction
-
- ByteTcc
-
- EasyTransaction
-
- Seata
- SAGA模式
-
- ServiceComb
-
- Seata
- LCN模式----tc-lcn
任务调度
- Quartz
- Elastic-Job
链路追踪与监控
- Zipkin
- Sleuth
- Skywalking
日志分析与监控
- ELK
-
- ElasticSearch
-
- Logstash
-
- Kibana
虚拟化/容器化
容器技术
- Docker
容器编排技术
- Kubernetes
- Swarm
前端
基础套餐
三大件
- HTML
- JavaScript
- CSS
基础库
- JQuery
- Ajax
模板框架
- JSP/JSTL
- Thymeleaf
- FreeMarker
组件化框架
- Node
- Vue
- React
- Angular
样式框架
- Bootstrap
运维知识
- Web服务器----Nginx
- 应用服务器----Tomcat/Jetty/Undertow
- CDN加速
- 持续集成/持续发布----Jenkins
- 代码质量检查----sonar
- 日志收集/分析—ELK
大数据
深度学习
- LetNet-5
面试题
Leecode
使用办法
每添加一篇博文就在对应的内容下添加超链接