学习大纲

concept

# 一、性能调优

  1. JVM性能调优
  2. Tomcat深度剖析
  3. MySQL性能调优
  4. Nginx调优

# 二、并发编程

  1. 操作系统内核原理
  2. JMM内存模型
  3. 并发同步处理
  4. 并发包之tools限制
  5. 并发包之atomic原子操作
  6. 阻塞队列BlockingQueue详解
  7. 并发Map、List与Set详解
  8. Exceutor线程池详解
  9. ForkJoin框架
  10. 无锁并发框架Disruptor

# 三、框架源码

  1. Spring应用框架
  2. ORM框架 MyBatis
  3. 设计模式

# 四、分布式框架

  1. 分布式消息中间件:RabbitMQ、RocketMQ、Kafka
  2. 分布式存储中间件:Redis、MongoDB、FastDFS、ES
  3. 其他分布式框架:Zookeeper、Dubbo、ShardingSphere、Netty

# 五、微服务系列

  1. 微服务架构变迁
  2. SpringBoot详解及源码剖析
  3. Spirng Cloud Alibaba详解
  4. Nacos 注册中心
  5. Ribbon 客户端负载均衡
  6. Feign 声明式服务调用
  7. Sentinel 降级限流熔断
  8. Gateway 网关
  9. Nacos 分布式注册中心、配置中心
  10. Seata 分布式事务
  11. Oauth2 认证与授权
  12. XXL-job 分布式调度中心
  13. Leaf 分布式主键
  14. Raft 分布式一致性算法

# 六、互联网工具

  1. Git
  2. Maven
  3. Jenkins
  4. Linux
  5. Docker
  6. K8s(Kubernetes)

# JVM

  1. 类加载过程(JVM生命周期)
  2. 类加载器
  3. 双亲委派机制
  4. 对象的创建过程
  5. 对象内存分配
  6. JVM内存模型
  7. GC机制
  8. 内存参数分配
  9. 垃圾收集算法
  10. JVM常用命令
  11. JVM调优

# MySQL

  1. 数据结构
  2. 索引
  3. 存储引擎及其索引结构
  4. 索引类型及索引设计原则
  5. 锁、事务
  6. Explain
  7. SQL生命周期
  8. 查询性能优化
  9. 慢查询
  10. Bin-log二进制归档日志
  11. MVCC、undo回滚日志、Read-view
  12. BufferPool缓存机制、redo重做日志

# Redis

  1. Redis数据类型及使用场景
  2. Redis分布式锁
  3. Redisson分布式锁实现原理
  4. Redis持久化——RDB、AOF
  5. Redis备份策略
  6. Redis主从架构、主从复制原理
  7. Redis哨兵高可用架构
  8. Redis Cluster集群
  9. 集群选举原理、集群脑裂问题
  10. Redis常见问题及解决——缓存数据库双写不一致、缓存穿透、缓存击穿、缓存雪崩
  11. Redis连接池
  12. Redis清除策略

# RabbitMQ

  1. MQ概念及RabbitMQ名词
  2. RabbitMQ工作模式(6种)——简单、工作队列、发布订阅、路由模式、主题模式
  3. Exchange类型(3种)
  4. 消息确认机制
  5. TTL、死信队列、延迟队列
  6. 消息积压、限流
  7. RabbitMQ高可用集群

# RocketMQ

  1. RocketMQ结构与名词
  2. RocketMQ消息模型(7种)——简单、顺序、广播、延迟、批量、过滤、事务
  3. 消费者的ACK确认机制
  4. 高可用集群,Raft算法
  5. 消息存储
  6. 消息重试Retry、死信队列DLQ
  7. 消息不丢失、消息顺序、消息积压、消息不重复消费
  8. Spring Cloud Stream使用

# Netty

  1. BIO、NIO、AIO
  2. NIO三大组件
  3. epoll模型、基于事件响应机制
  4. Netty概念及使用场景
  5. Netty线程模型
  6. Netty模块组件
  7. ByteBuf
  8. Netty编解码、粘包拆包
  9. Netty心跳机制
  10. 零拷贝原理、直接内存
  11. Netty客户端断线重连