线偶

线偶的IT笔记

Spring Boot 启动流程

spring boot 启动流程必须懂。 启动类示例: 1 2 3 4 5 6 7 8 @SpringBootApplication public class HiApplication { public static void main(String[] args) { // 先执行 SpringApplication 的构造方法,然后执行 run 方法 SpringApplication.run(HiApplication.class, args); } } SpringApplication#run 源码位置: org.springframework.boot.SpringApplication#SpringApplication 1 2 3 4 5 6

Spring Cache 原理

spring cache 是最常见的功能之一,有必要了解其原理。 CacheAutoConfiguration 自动配置类 源码位置: org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 // 导入 CacheConfigurationImportSelector 配置类 @Import({ CacheConfigurationImportSelector.class,

常见的限流算法

固定窗口算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 type FixedWindowRateLimiter struct { // 固定窗口大小, 单位ms windowInterval time.Duration // 限制 limit int // 窗口开始时间 prevTime time.Time // 当前限制 curLimit int } func (s *FixedWindowRateLimiter) acquire()
0%