自定义博客皮肤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)
  • 收藏
  • 关注

原创 基于CAS实现无锁机制

JDK 1.5 以后的AtomicStampedReference 类就是用来解决 ABA 问题的,其中的 compareAndSet() 方法就是首先检查当前引用是否等于预期引用,并且当前标志是否等于预期标志,如果全部相等,则以原子方式将该引用和该标志的值设置为给定的更新值。如果一个变量 V 初次读取的时候是 A 值,并且在准备赋值的时候检查到它仍然是 A 值,那我们就能说明它的值没有被其他线程修改过了吗?CAS 的思想很简单,就是用一个预期值和要更新的变量值进行比较,两值相等才会进行更新。

2023-06-07 14:47:20 40 1

原创 Spring之静态代理和动态代理

我的理解是:对一个接口进行功能增强或者修改,这里的接口就是中介,被修改前的实现类就是房东,修改后的实现类就是租客。现在我们的需求是,在原来的实现方式方法调用前后打印日志,且不能修改原来的代码,相当于增加功能,拓展业务。: 这里我不用传统的。

2023-06-05 22:52:11 105 1

原创 Redis夺命三连问之穿透、击穿、雪崩

比如请求id为-1的数据,缓存中是不存在的,此时就会去数据库查找。由于在数据库中也找不到该数据,说明该数据没有意义,也就不会将该数据缓存,所以 每次请求都会去数据库查找,当大量请求到数据库的时候,数据库可能就挂了。这里顺带一提,如果是在分布式的情况下出现并发竞争热点key,并且要对key进行操作的话,就要使用分布式锁了,详见另一篇文章。,那么在失效那一刻就会有大量的请求进来直接进入到数据库,造成数据库压力增大。:如果一个数据是热点数据,也就是经常被访问的数据,它。,给数据库造成大量请求、导致数据库崩溃。

2023-06-05 11:36:59 47 1

原创 Redis分布式锁问题

保证同一时间只能有一个客户端对共享资源进行操作。在JavaSE中有多线程,当多线程对共享资源进行操作的时候,我们会使用Synchronized或者Lock来加锁保证多个线程的操作不会互相干扰,但是这种锁只局限在单一的JVM中,如果我们的项目是集群的情况下,我们就需要分布式锁来保证每一个服务之间的操作不会互相干扰。 SETNX(SET IF NOT EXISTS)是redis提供的一种锁机制,当该key存在的时候会返回0,当key不存在的时候会返回1并且设置值。 Redis中使用SETNX来实现分布式锁,re

2023-06-05 00:01:27 100 2

空空如也

空空如也

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

TA关注的人

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