零碎的知识
队列 computeIfabsent
private volatile static Map<String, List<Long>> MAP = new ConcurrentHashMap<>(); // 根据队列id,取出对应的限流队列,若没有则创建 List<Long> list = MAP.computeIfAbsent(listId, k -> new LinkedList<>());
滑动时间窗口限流算法
参考:Java 实现滑动时间窗口限流算法,你见过吗?-CSDN博客
漏桶限流算法
参考:水满自溢「限流算法第四把法器:漏桶算法」- 第303篇 - 知乎 (zhihu.com)
File.separator
其实 File.separator 的作用相当于 ' \ ',确保在Windows或者linux等任何系统上对于文件路径的读取都不会出错