自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 为什么重写equals要重写hashcode

来说,未重写过的equals是通过比较地址实现的(

2023-12-02 12:14:44 37

原创 时间轮的介绍(对比Java原生的Timer,ScheduledThreadPool和DelayQueue)

对比而言时间轮更适合任务数很大的延时场景,它的任务插入和删除时间复杂度都为O(1)。对于延迟超过时间轮所能表示的范围有两种处理方式,一是通过增加一个字段-轮数,Netty 就是这样实现的。二是多层次时间轮,Kakfa 是这样实现的。相比而言 Netty 的实现会有空推进的问题,而 Kafka 采用 DelayQueue 以槽为单位,利用空间换时间的思想解决了空推进的问题。可以看出延迟任务的实现都不是很精确的,并且或多或少都会有阻塞的情况,即使你异步执行,线程不够的情况下还是会阻塞。

2023-11-27 17:27:29 247

原创 服务限流常见算法和实现

前面的58分钟都没来请求,第59分钟来了10个请求,然后到了一个小时刷新了次数,第61分 钟又来了10个请求,相当于两分钟内处理了20个请求,服务器承受不了。限流,就是流量控制。在固定时间窗口的基础上,把一个时间周期拆成很多个小周期,每个小周期都有计数器,每个小周期独立计数,将整个周期中所有小周期的计数器加起来当作总的访问次数。一个桶只有10的容量,每0.1秒固定处理一个请求,若1秒内来了11个请求,最后一个会被拒绝。每过一个小的时间周期,时间窗口就往后滑一位,即抛弃最早的小周期,开启新的小周期。

2023-11-21 00:27:04 69 1

原创 Redis并发竞争key

大家好,我是Boo!今天讨论一下对Redis并发竞争key的理解,如有错误的地方,欢迎大佬指正。

2023-11-16 22:16:19 78

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除