Redission tryLock Redisson 的 tryLock1boolean tryLock(long waitTime, long leaseTime, TimeUnit unit) 在 waitTime 时间范围内尝试获取锁, 如果获取到锁, 设置过期时间 leaseTime 12345678910111213141516171819202122232425262728293031323334353637383940 2024-05-28 #源码
Spring SpringBean 的生命周期 通过 BeanDefinition 获取 Bean 的定义信息 通过构造函数实例化 Bean Bean 的依赖注入 处理 Aware 接口 BeanPostProcessor - 前置方法 初始化方法(InitializingBean, init-method) BeanPostProcessor - 后置方法 销毁 Bean BeanDefinition 是 2024-05-28 #八股
LRU LRULRU,Least Recently Used,最少最近使用,淘汰策略是最久没用的想象有一摞书,用的时候抽出来,放在最上面淘汰的时候把最下面的移除整一个双向链表,每次都淘汰最后一个,插入的时候插入到头(哨兵后面) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495 2024-05-28 #算法
MySQL MySQLredo log 和 binlog 的区别 redo log 是 InnoDB 特有的, binlog 是 Server 层的每个数据引擎都有 redo log 记录的是物理日志, 记录的是在某个数据页做的修改, 比如”对 xxx 表中 yyy 数据页 zzz 偏移量的地方坐了 aaa 更新” binlog 是逻辑日志, 记录的是这个语句的原始逻辑, 比如”给 id = 2 2024-05-27 #八股
多线程 多线程Runnable 和 Callable 有什么区别 Runnable 的 run 方法没有返回值, Callable 的 call 方法有 Callable 的 call 方法是个泛型 Runnable 的 run 方法不能抛异常, Callable 的 call 方法可以 wait 和 sleep 方法有什么区别 归属不同: wait 方法是 Object 类中的, sleep 方法是 2024-05-26 #八股
golang golanginit 和 mian 函数 init 函数 同一个 package 可以定义多个 init 方法 同一个 package 不同文件 init 方法执行按照文件名先后顺序执行 同一个 go 文件中可以重复定义 init 方法 按定义顺序执行 按照 import 顺序调用其他包的 init 函数 导入顺序 mian -> A -> B -> C 则 init 执 2024-05-26 #golang