logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

利用Redis进行分布式限流,实现令牌桶算法

分布式限流方案计数:简单,双倍临界情况漏桶:恒定速度,不能应对峰值令牌桶:允许一定突然,丢掉部分请求有待商榷,令牌桶普遍用得多一些成熟方案可见,阿里Sentinel:https://sentinelguard.io/zh-cn/docs/basic-implementation.html计数实现原理:没超出显示进行自增local key = "rate.limit:" .. KEYS[1]loca

#分布式#java#redis
多数元素-多种解法

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2暴力简单的暴力方法(即枚举数组中的每个元素,再遍历一遍数组统计其出现次数,时间复杂度为o(N2)) 的算法我们需要找出时间复杂度小于o(N

#java#算法
信号量(Semaphore)-你真的了解吗?

什么是信号量信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据

#操作系统#java
到底了