
笔记
文章平均质量分 53
Java大角牛
这个作者很懒,什么都没留下…
展开
-
FactoryBean小测试
一般情况下,Spring会通过反射机制利用的class属性指定实现类实例化Bean。在传统方式,需要在中提供大量的配置信息。这种配置方式的灵活性是受限的,这是采用编码的方式有一个简单的方案。Spring为此提供了一个FactoryBean工厂类接口,我们可以通过实现工厂类接口来定制实例化Bean的逻辑。可以帮助我们隐藏一些复杂Bean实例化的细节,为上层应用调用带来便利。闲来无事,研究了一下Spring 的FactoryBean接口,做了一个简单的小Demo。原创 2023-03-11 18:52:12 · 121 阅读 · 1 评论 -
LambdaUtil,Lambda方式运行你的接口
【代码】LambdaUtil,Lambda方式运行你的接口。原创 2023-02-24 10:23:56 · 368 阅读 · 0 评论 -
比较两个对象的属性值,自定义CompareUtil
个人笔记原创 2023-02-02 11:15:34 · 257 阅读 · 0 评论 -
Sentinel : Redis集群哨兵机制工作原理
Sentinel是Redis官方提供的一种Redis集群高可用的解决方案。多个Sentinel分别订阅指定频道并分别监控Redis集群中的每个节点,检测他们是否发生故障,若主节点发生故障,Sentinels会进行选举出一个Redis 从节点作为新的主节点,并让其他的从节点指向这个新的主节点。并且会同步这个新地址给client。原创 2023-01-15 18:01:48 · 179 阅读 · 0 评论 -
Netty-时间轮算法实现延时队列效果
如果有时间跨度较长的定时任务,则可以交给层级时间轮去调度。HashedWheelTimer本质是一种类似延迟任务队列的实现,那么它的特点如上所述,适用于对时效性不高的,可快速执行的,大量这样的“小”任务,能够做到高性能,低消耗。那么我们要延时执行一个任务,就只需要给出任务需要执行的时间,然后通过计算得出执行到我们任务需要的圈数,和具体的刻度。时间轮算法借助时钟的思想,可以将时间轮看作一个时钟,上面有刻度,每个刻度代表多少时间,每个刻度上放着若干个任务。那么我们的任务就会在第二圈的刻度1处执行我们的任务。原创 2023-01-11 22:06:29 · 621 阅读 · 0 评论 -
在使用 Redis 时,如何持续发挥它的高性能,避免操作延迟的情况发生的建议笔记
所以,对于容器类型(List/Hash/Set/ZSet),在元素数量未知的情况下,一定不要无脑执行 LRANGE key 0 -1 / HGETALL / SMEMBERS / ZRANGE key 0 -1。当开启这个机制后,Redis 在删除一个 bigkey 时,释放内存的耗时操作,将会放到后台线程中去执行,这样可以在最大程度上,避免对主线程的影响。如果申请内存单位变为了 2MB,那么势必会增加内存申请的耗时,如果此时主进程有大量写操作,需要修改原有的数据,那么在此期间,操作延迟就会变大。原创 2022-12-20 10:05:59 · 288 阅读 · 0 评论