数据结构与算法
常用的数据结构实现和常见算法实现
星夜007
这个作者很懒,什么都没留下…
展开
-
java跳表实现
java跳表实现 概念:一种有序链表,带有多级索引,查询性能为O(logN)。 运用:Redis,ConcurrentSkipListMap 这里主要参照了leetcode的实现,补充了泛型实现。 public class SkipList<T> { //当前层级 private int curentLevel = 1; //最大索引层级 private final static int MAX_LEVEL = 32; //队列头节点 private fin原创 2021-07-11 22:07:21 · 168 阅读 · 0 评论 -
常见限流算法实现
常见限流算法实现 1. 固定窗口 算法思想:对每一个请求进行计数,每间隔一段时间清除统计的数量,如果期间请求计数达到上限则请求失败。 实现:一般分为多线程实现和单线程实现,多线程实现较为简单,即单独开辟一个定时任务去清除统计的请求数,但是耗费资源;本文主要展示单线程的无锁实现,也可使用有锁实现,差别不大。 //单线程无锁实现 public class FixedWindow { //复位间隔时间 private final long interval; //最大凭证数 pri原创 2021-07-11 21:35:12 · 96 阅读 · 0 评论