Java学习路线
Java编程基础
Java语言
Java语言基础
- 数据类型
- 面向对象
- 接口
- 容器
- 异常
- 泛型
- 反射
- 注解
- I/O流
- 集合
JVM
- 类加载机制
- 字节码执行机制
- JVM内存模型
- GC垃圾回收机制
- JVM性能监控与故障定位
- JVM调优
并发/多线程
- 并发编程基础
- 线程池
- 锁
- 并发容器
- 原子类
- JUC并发工具类
数据结构和算法
数据结构
- 字符串
- 数组
- 链表
- 二叉树
- 堆、栈、队列
- 哈希
算法
- 查找
- 排序
- 贪心
- 分治
- 动态规则
- 回溯
计算机网络
- ARP协议
- IP/CMP协议
- TCP/UDP协议
- DNS/HTTP/HTTPS协议
- Session/Cookie
数据库/SQL
数据库类型
- mysql
- oracle
- Sqlserver
知识点
- SQL基本语句
- 乐观锁、悲观锁
- 事务及隔离级别
- 索引
- SQL如何优化
操作系统
- 进程/线程
- 并发/锁
- 内存管理和调度
- I/O原理
设计模式
- 单例
- 工厂
- 代理
- 策略
- 模板方法
- 观察者
- 适配器
- 责任链
- 建造者…等等23种
开发工具
集成开发环境
- Eclipse
- IDEA
- VScode
Linux系统
- Linux常用命令
- 基本Shell脚本
代码管理工具
- Git
- SVN
- VSS
项目管理/构建工具
- Maven
- Gradle
前后端框架
后端
Spring家族
Spring
- IOC
- AOP
SpringMVC
SpringBoot
1、自动装配
2、整合Web
3、整合数据库(事务问题)
4、整合权限:Shiro、SpringSceurity
5、整合各种中间件:缓存、MQ、RPC框架、NIO框架等等...
服务器软件
Web服务器
- Nginx
应用服务器
- Tomcat
- Jetty
- Undertow
中间件
缓存
1、Redis:五大数据类型、事务、消息通知、管道、持久化、集群
2、memcache
消息队列
1、RocketMQ
2、RabbitMQ
3、Kafka
RPC架构
1、Dubbo
2、GRPC
3、Thrift
4、SpringCloud
5、Netty
数据库
ORM层框架
1、MyBatis
2、Hibernate
3、JPA
连接池
1、Druid
2、HiKariCP
3、C3PO
分库分表
1、MyCat
2、Sharding-JDBC
3、Sharding-Sphere
搜索引擎
1、Solr
2、ElasticSearch
分布式/微服务
服务发现/注册
1、Eureka
2、Consul
3、Zookeeper
4、Nacos
网关
1、Zuul
2、Gateway
服务调用(负载均衡)
1、Robbon
2、Feign
熔断/降级
- Hystrix
配置中心
1、Config
2、Apollo
认证和鉴权
1、Shiro
2、SpringSecurity
3、OAuth2
4、SSO
分布式事务
1、JTA接口:Atomikos组件
2、2PC、3PC
3、XA模式
4、TCC模式:tcc-transaction、ByteTCC、EasyTransaction、Seata
5、SAGA模式:ServiceComb、Seata
6、LCN模式:tx-icn
任务调度
1、Quartz
2、Elastic-Job
链路追踪与监控
1、Zipkin
2、Sleuth
3、Skywalking
日志分析与监控
ELK:ElastticSearch、Logstash、Kibana
虚拟化/容器化
1、容器技术:Docker
2、容器编排技术:Kubernetes、Swarm
前端
基础套餐
三大件
HTML、javaScript、Css
基础库
Jquery、Ajax
模板框架
JSP/JSTL、Thymeleaf、FreeMarker
组件化框架
Node.js、VUE、React、Angular
小程序、安卓
运维
Web服务器(Nginx)
应用服务器
Tomcat、Jetty、Undertow
CDN加速
持续集成/持续发布(Jenkins)
代码质量检查(sonar)
日志收集、分析(ELK)
面试
leetcode、牛客