文章目录
- 1. 静态代理和动态代理的区别(代理模式):
- 2. http、SSE(server-sent event)、websocket
- 3. TPS、QPS、吞吐量
- 4. 定时任务
- 5. 分布式锁
- 6. 事务总结
- 7. 分布式缓存的高可用方案
- 8. ThreadLocal 原理
- 9. mysql
- 10. 线程池的使用及原理
- 11. idea 配置文件同步到远程仓库
- 12. FastDFS 分布式文件系统
- 13. 注解@Bean(initMethod、destroyMethod)、@PostConstruct、@PreDestroy使用详解
- 14. 常见 Spring 事务失效场景
- 15. UML图等相关
- 16. 日志最佳实践
- 17. 设计模式
- 18. nginx
- 19. 发布部署方案对比总结
1. 静态代理和动态代理的区别(代理模式):
2. http、SSE(server-sent event)、websocket
3. TPS、QPS、吞吐量
4. 定时任务
- @Scheduled 好用(单体应用,集群模式需要自己实现锁)
- xxl-job 框架(单体、集群、分布式皆可)
- @Scheduled
- xxl-job 分布式定时任务调度框架(推荐使用(单体、集群、分布式皆可))
5. 分布式锁
6. 事务总结
6.1 事务传播行为
6.2 事务原理
6.3 分布式事务
- 2PC(基于 XA 协议);
- 3PC(基于XA 协议);
- TCC(Try、Confirm、Cancel);
- 消息中间件事务;
- Seata(AT,Seata支持 XA、TCC、AT等方式)
推荐使用阿里的Seata:Seata文档 | SpringCloud 整合 Seata
7. 分布式缓存的高可用方案
8. ThreadLocal 原理
- ThreadLocal深入讲解
- MDC(封装了 ThreadLocal)
9. mysql
9.1 mysql 深度分页问题
推荐文档(带主键索引查询方案效果较好):
9.2 mysql binlog 数据恢复
推荐文档:手把手教你玩 mysql 删库不跑路
9.3 mysql 主从(保持数据一致性)
10. 线程池的使用及原理
- ThreadPoolExecutor 核心原理和实践
- ThreadPoolTaskExecutor 使用即详解(以及和ThreadPoolExecutor 的区别和联系)
- ForkJoinPool 线程池的使用及原理
11. idea 配置文件同步到远程仓库
- jetbrains 相关产品同理
- gitee | github 同理
12. FastDFS 分布式文件系统
13. 注解@Bean(initMethod、destroyMethod)、@PostConstruct、@PreDestroy使用详解
执行顺序:
初始化:@PostConstruct -> InitializingBean -> initMethod
销毁:@PreDestroy -> DisposableBean -> destroyMethod
14. 常见 Spring 事务失效场景
- Spring事务失效的12个场景我劝碰到过,太巧了!
- 事务失效原因及动态代理原理
- 事务分类
- 单服务单数据源解决方案:Spring事务
- 单服务多数据源事务解决方案:mybatis-plus解决方案
- 多服务多数据源(分布式事务)解决方案:常用分布式事务解决方案