自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 问答 (1)
  • 收藏
  • 关注

原创 黑马redis基于互斥锁解决缓存击穿问题一些理解

使用递归的好处是可以重用相同的逻辑来再次尝试获取数据,而不需要编写额外的循环逻辑。在代码中,如果从 Redis 获取到了数据,就直接返回数据。如果得到的是空字符串(""),说明之前有查询过数据库,但是没有查到数据,所以在缓存中故意存了一个空字符串以表示这个情况。这段代码的目的是使用互斥锁的方式来解决缓存击穿的问题。缓存击穿指的是当缓存中没有所需数据时,如果有大量并发请求同时到达,它们都会去数据库加载数据,从而对数据库造成很大压力。是一个非空字符串,就表示缓存中存的是空值,也就是数据库中没有对应的数据。

2024-04-21 20:52:04 131 1

原创 class.forname介绍

到这里,不用解释,读者也会明白,在使用 jdbc 方式连接数据库时,为什么要执行 Class.forName('驱动类名') 方法了:将驱动类的 class 文件装载到内存中,并且形成一个描述此驱动类结构的 Class 类实例,并且初始化此驱动类,这样 jvm 就可以使用它了,这就是 Class.forName() 方法的含义。Class 也是一个 Java 类,保存的是与之对应 Java 类的 meta信息(元信息),用来描述这个类的结构,比如描述一个类有哪些成员,有哪些方法等,一般在反射中使用。

2023-06-12 15:55:22 123

空空如也

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

TA关注的人

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