后端知识速递(更新 ing)
Java
集合
IO
异常
- Throwable
- Error、Exception
- RuntimeException、IOException
并发
- 多线程(线程池,合理大小)
- ThreadLocal
- synchronized、Lock
- volatile、CAS
- AQS(CountDownLatch、ReentrantLock)
- 锁优化
代理
- 静态代理
- 动态代理(JDK 代理、接口代理)
- CGLIB 代理(子类代理)
JVM
- 内存模型(堆)
- GC 算法
- 垃圾回收器
- 虚拟机参数
- ClassLoader(双亲委托)
- 锁类型(偏向锁、轻量级、重量级、自旋锁、锁消除)
JDK 1.8 特性
- 接口默认方法
- 函数式接口
- Lambda 表达式
- Optional
- Streams
- Date/Time API
- Base64
- 元数据区
框架组件
Spring
Redis
MQ
- AMQ、RocketMQ、Kafka
- 集群方案
- 重复消费(幂等性)、顺序
Zookeeper
- znode 类型
- watcher 机制
- 集群方案(Leader、Follower、Observer)
- 选举流程
- zxid
Netty
Dubbo
nginx
数据结构
栈
队列(链表)
树
- 二叉树、完全二叉树、二叉查找树
- 先序遍历、中序遍历、后序遍历
算法
排序
分布式
分布式 ID
- UUID(长度过长,效率较低)
- 数据库自增 ID
- 数据库步长
- snowflake
分布式 Session 一致性
- IP HASH 负载均衡
- Tomcat Session 同步
- Spring + Redis 集中管理
- JWT Token 令牌机制(sign 散列算法签名)
分布式锁
- 数据库唯一索引
- Redis NX
- ZooKeeper 节点唯一(顺序节点)
分布式事务
- XA(两阶段提交)
- TCC(Try、Confirm、Cancel)
- 可靠消息最终一致性(RocketMQ)
一致性 Hash
数据库
MySQL 优化
- SQL 优化(索引、分表)
- slow_query_log 慢查询开关
索引
- 分类(数据结构、存储层面、逻辑层面)
- 最左前缀
- 失效场景
- 优缺点
事务
数据库引擎
- InnoDB、MyISAM
- 特性支持(事务、表锁、行锁、间隙锁)
其他
工具
Maven
- clean package install
- 环境分离
- 依赖冲突
Git
- pull fetch merge
- revert reset rebase
- 配置
IDEA
其他
加密
- 对称加密 AES、DES
- 非对称加密 RSA、DSA
- 散列算法 MD5、SHA、HMAC
设计模式
网络 & 操作系统
- 线程与进程
- Linux 常用命令
- OSI 七层模型
- TCP(三次握手,四次挥手)、UDP
- CRSF、XSS、CORS
- 设计秒杀系统
- HTTP 状态码(5xx 解决方案)