首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
逍遥jc
掘友等级
高级Java工程师
|
菜鸟
Dota2菜鸟,遗迹暖暖资深玩家,Artifact全球8强
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
107
文章 102
沸点 5
赞
107
返回
|
搜索文章
最新
热门
你所不知道的一些关于Spring如何解决循环依赖的细节
顾名思义,就是假设有bean A和bean B,A的实例化依赖于B实例的存在,B的实例化也必须依赖于A实例的存在。如果没有相关的处理方案,肯定是会陷入死循环的。那么Spring是如何来解决这个问题的呢? 我们直接进入正题,开始源码解读,首先找到AbstractApplicati…
Etcd分布式锁(二):支持公平锁,避免某些场景下线程长期无法获取锁
公平锁和非公平的锁的区别主要还是在于公平锁保证先竞争的的线程会优先获取锁,而非公平锁则无法提供这个保障。 在ReentrantLock的实现中,两者的区别主要是公平锁在获取锁之前,会先去判断,如果有其他线程持有锁或者有其他线程在等待队列中等待这,那么该线程将被放入到队列中。而非…
Etcd分布式锁:cp分布式锁的最佳实现
分布式锁的功能和诉求,我们已经在Redis分布式锁:基于AOP和Redis实现的简易版分布式锁简单的介绍过了。 目前自研的Redis分布式锁,已可满足大部分场景(非公平+可自动续期+可重入的分布式锁),可投入生产环境的单机环境中使用。但是因为是基于Redis单机的环境,只能用于…
Redis分布式锁(三):支持锁可重入,避免锁递归调用时死锁
Redis分布式锁的基础内容,我们已经在Redis分布式锁:基于AOP和Redis实现的简易版分布式锁这篇文章中讲过了,也在文章中示范了正常的加锁和解锁方法。 从上次升级为可续期的分布式锁后的半年时间内,这款自研的简易版分布式锁依然运行良好。 但在最近查线上日志的时候偶然发现,…
如何动态加载@KafkaListener的topics
我司最近刚重构完,终于有时间去偿还欠下的技术债了。 最先准备改造的就是将一些原本应该异步执行而因重构时间紧而被迫同步执行的方法,通过消息队列异步化。 在原来的老项目中,我们使用的是kafka。因此我们对kafka的熟悉程度远胜于其他消息队列,也正因此,我们在新系统中依然采用了k…
Redis分布式锁(二):支持锁的续期,避免锁超时后导致多个线程获得锁
Redis分布式锁的基础内容,我们已经在Redis分布式锁:基于AOP和Redis实现的简易版分布式锁这篇文章中讲过了,也在文章中示范了正常的加锁和解锁方法。 分布式锁在之前的项目中一直运行良好,没有辜负我们的期望。 但在最近查线上日志的时候偶然发现,有一个业务场景下,分布式锁…
没法转私密,只能删除了
没法转私密,只能删除了 没法转私密,只能删除了 没法转私密,只能删除了 没法转私密,只能删除了 没法转私密,只能删除了
DelayQueue系列(三):持久化方案
上一篇文章中提到了我们在项目中运用DelayQueue解决了一些需要延迟执行的任务,但是最近我们在生产环境上遇到了一个问题。重启服务器后,那些未执行的延迟任务就消失不见了。于是如何将延迟任务持久化就提上了日程。 关于DelayQueue的具体实现方案,已经在上一篇文章Delay…
DelayQueue系列(二):基础组件
在我们产品中有这么一个场景,在医生关闭问诊的3min后,患者将无法继续和医生进行对话。我根据对业务的理解,和对技术实现成本的衡量,决定通过DelayQueue的方式来实现。 关于DelayQueue的相关内容介绍和核心源码解析已在上一篇DelayQueue系列(一):源码分析说…
DelayQueue系列(一):源码分析
本文将会对DelayQueue做一个简单的介绍,并提供部分源码的分析。 DelayQueue的特性基本上由BlockingQueue、PriorityQueue和Delayed的特性来决定的。 简而言之,DelayQueue是通过Delayed,使得不同元素之间能按照剩余的延迟…
下一页
个人成就
文章被点赞
139
文章被阅读
53,860
掘力值
1,010
关注了
76
关注者
101
收藏集
3
关注标签
5
加入于
2018-12-09