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

原创 ThreadLocal底层理解

ThreadLocal是一种线程隔离机制,它保证了多线程访问下,对共享变量访问的安全性,在解决多线程访问共享变量情况下一般方法是加锁,保证同一时刻只有一个线程对共享变量进行修改,但是加锁会带来一个性能下降的问题,所以ThreadLocal采用了一个空间换时间的思想,它在每个线程里边有一个容器,这个容器是用来存储共享变量的一个副本,然后每个线程只对自己的副本进行操作,就不会发生线程安全问题,又避免使用锁的一个开销,它底层是由map结构存储的,属于一个强引用,所以使用完要remove,不然会一直存在,容易造成内

2022-04-10 00:24:22 179

原创 为什么要使用Redission分布式锁

分布式锁是一种跨进程,跨节点的一种互斥锁,它可以保证多个机器节点对访问共享资源的排他性。我们也可以使用redis的setnx命令来实现排他性,当key不存在的时候就返回1,存在的话就返回0,也可以使用expire命令来设置锁的过期时间,从而避免死锁问题,对于业务没执行完锁过期的话,可以写定时任务对指定的key续期。但是这种都是比较麻烦的,Redission的出现可以就方便了这些步骤,Redission底层封装了一个watchdog看门狗机制,它会去对我们的key去做续期,另外是基于lua脚本实现,用于保证设

2022-04-10 00:03:01 3313

空空如也

空空如也

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

TA关注的人

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