个人知识体系
持续完善博客大纲,自顶向下构建知识体系.
Concurrent
concurrent
JMM
线程
守护线程
多线程上下文切换
线程安全
what什么是线程安全
how如何保证线程安全
保证线程安全前提下提高并发
线程状态
线程状态转换图
sleep 和 wait 区别
join
interrupt(), isInterrupted(), interrupted()
创建线程
创建线程的几种方式
Callable和Runnable
使用 wait + notify 实现通知机制
死锁
为何会死锁
如何防止死锁
死锁定位
synchronized
synchronized使用
synchronized 与 volatile 区别
synchronized 实现原理
锁优化
偏向锁
轻量级锁
锁膨胀
自旋锁
重量级锁
锁消除
锁粗化
CAS
什么是CAS操作
CAS原理
volatile
为什么使用 volatile
volatile作用
volatile适用场景
volatile保证线程安全
Lock体系
ReentrantLock 与 synchronized 的比较
ReentrantLock 与 synchronized 性能比较
AQS
AQS 使用
AQS 实现原理
独占式锁
共享式锁
Condition
ReentrantLock
ReentrantLock 实现
ReentrantLock 重入锁的实现原理
ReentrantLock 公平锁 和 非公平锁 的比较
ReentrantReadWriteLock
ReentrantReadWriteLock 实现
读锁
读锁获取
读锁释放
写锁
写锁获取
写锁释放
锁降级策略
生成 Condition 等待队列
应用场景
Condition机制
Condition 总结
LockSupport
ConcurrentHashMap
put()
get()
扩容 rehash()
CopyOnWriteArrayList
CopyOnWriteArrayList 和 ReentrantReadWriteLock 的区别
ThreadLocal
ThreadLocal 内存泄漏
怎样来解决内存泄漏
为什么要使用弱引用
ThreadLocal 的最佳实践
ThreadLocal优化
BlockingQueue
BlockingQueue实现类
BlockingQueue 实现
ArrayBlockingQueue
LinkedBlockingQueue
ConcurrentLinkedQueue
tail更新滞后设计的目的
Distruptor
线程池 ThreadPoolExecutor
线程池参数配置
线程池监控
线程池参数
执行流程
CountDownLatch
CountDownLatch 原理
CyclicBarrier
CountDownLatch 和 CyclicBarrier 的比较
Semaphore
Exchanger
Canal
模块
deployer
server
instance
parser
接收binlog
sink
加工处理
store
RingBuffer存储
meta
记录消费binlog的位置
client
client-adapter
消费server产生的binlog,投递到es/mq等
admin
管理server和instance的配置
分布式
高并发
缓存
前端缓存
浏览器缓存
APP缓存
CDN
单机缓存
分布式缓存(Redis)
多级缓存
缓存失效
缓存对账
缓存压缩
数据双写一致性问题
缓存击穿,穿透,雪崩,崩溃问题
热点缓存
数据库缓存
文件系统Page Cache缓存
CPU多级缓存
负载均衡
LVS+Nginx
支持水平扩展,多台机器分摊流量
异步化
MQ
线程模型异步处理
数据库层面
读写分离
分库分表
数据异构
同步ES
大数据查询
高可用
负载均衡和反向代理
隔离
线程隔离
进程隔离
集群隔离
读写隔离
限流
漏桶算法
令牌桶
Guava RateLimiter
应用级限流
分布式限流
服务降级
配置中心推送降级key
自动降级
熔断
Hystrix
超时与重试
任务驱动+定时器补偿
接口重试
幂等处理
监控
集群扩容
k8s+docker,paas平台
日志系统
ELK
高性能
线上性能问题定位(事前,事中,事后)
性能优化
Netty
Netty组件
Netty组件关系
Bootstrap
ServerBootstrap
Channel
EventLoop
NioEventLoop 和 NioEventLoopGroup 继承结构
定时调度
ChannelPipeline
ChannelHandler
Inbound handler
Outbound handler
ChannelInitializer
ByteBuf
ByteBufAllocator
Reactor
ChannelFuture
Future 和 Promise
Promise
CompleteFuture
Unsafe