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 mvc 原理真的必须懂, 之前写的源码导读。 DispatcherServlet 源码位置: org.springframework.web.servlet.DispatcherServlet#doDispatch 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
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,
为什么学 现在 rust 特别火,我觉得有必须学一学,虽然这门语言上手难,一旦学会了写代码的体验非常好。 怎么学 推荐一些资料 Rust程序设计(第2版) Ru
固定窗口算法 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()
gossip 协议是为实现最终一致性提出的。 实现思路 每个节点都有基本属性,如 id, addr, port。 每个节点都有成员列表 members,存储一部分数据 data。 通