# 一、Java
## 1.Java 集合框架
1 Map
2 Collection
## 2.Java 多线程
1 基本概念
2 锁理论
3 线程实现
4 原生同步
5 juc多线程支持体系
## 3.Java 虚拟机
**一 JVM概念**
1 编译执行过程
**二 Java内存区域**
1 运行时数据区
2 虚拟机对象
**三 垃圾收集器与内存分配策略**
1. 可达性分析
- 可作为root节点的对象 (口诀:两区两栈)
1 本地方法栈引用对象
2 虚拟机栈(栈帧中本地变量表)中引用对象
3 方法区静态字段引用对象
4 方法区常量引用对象
2 gc算法
- 标记-清除
- 复制
- 标记-整理
- 分代回收
4 gc回收器
- Serial收集器
- ParNew收集器
- Parallel Scavenge收集器
- Serial Old收集器
- Parallel Old收集器
- CMS 收集器
- 初始标记
- 并发标记
- 重新标记
- 并发清除
- 该收集器的优缺点
- G1 收集器
5 内存分配与回收策略
- 优先Eden区分配
- 大对象怎么分配
- 长期存活对象怎么处理
- 空间分配担保机制
**四、虚拟机类加载机制**
1 类加载过程
2 类加载器
**五、Java内存模型与线程**
1 Java内存模型
2 Java与线程
**六、线程安全与锁优化**
1 线程安全
2 锁优化
## 4.Java IO
### 1 Java BIO
- 字节流
- InputStream
- OutputStream
- 字符流
### 1 Java NIO
- 基本概念&模型
- Channel
- Buffer
- Selector
## 5.Java 基础知识
### 1 Java 泛型
### 2 Java 反射
### 3 Java 注解
### 4 Java 异常
# 二、Web开发框架
## 1.Mybatis
## 2.Spring
# 三、数据库
## 1.MySQL
## 2.分布式数据库
# 四、算法
## 1.基本排序算法
## 2.动态规划
## 3.刷题心得
# 五、数据结构
## 1.数组
## 2.栈
## 3.队列
## 4.树
## 5.图
## 6.哈希表
# 六、中间件
## 1.消息中间件
## 2.缓存中间件
## 3.限流工具
## 4.降级工具
# 七、服务稳定性