LRU 缓存淘汰算法动手实现
缓存穿透、击穿、雪崩是三个经典问题。本文从现象到解决方案,把这三个概念讲清楚。
先写清楚输入和输出
算法题最怕脑子里觉得懂,代码一写就错。先把输入、输出、边界条件列出来。
以二分查找为例:
public int binarySearch(int[] nums, int target) { |
验证边界
至少测试:空数组、只有一个元素、目标在开头、目标在结尾、目标不存在。
缓存穿透、击穿、雪崩是三个经典问题。本文从现象到解决方案,把这三个概念讲清楚。
算法题最怕脑子里觉得懂,代码一写就错。先把输入、输出、边界条件列出来。
以二分查找为例:
public int binarySearch(int[] nums, int target) { |
至少测试:空数组、只有一个元素、目标在开头、目标在结尾、目标不存在。
MySQL MVCC多版本并发控制
MySQL锁机制与死锁排查