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

原创 Redisson分布式锁源码分析

那么问题就来了,首先我并没有给定锁的过期时间,那么redisson是如何知道我需要多久的过期时间呢?那么对于第一个问题,由于lock方法是有重载方法的,可以设置时间,那么可以确定,在不指明时间的前提下,lock方法是会给锁一个默认的过期时间。至于前面的hexists,pexpire,hincrby这些都是redis中的原生命令,因此这个lua脚本就不难理解了,想要执行这些原生命令,后面总得有参数吧。可见实现一个分布式锁要考虑很多,接下来我们通过简单的业务代码思考一下,看看redisson如何实现。

2023-05-19 17:13:44 349 2

原创 JVM-类的加载

第二种情况是被static final修饰的并且显示赋值的变量,被final关键字修饰的变量在编译期间就会进行分配,在这个阶段是被显示的进行初始化,将显示赋予的值给该变量。第三章情况是被static final修饰,但是并未进行显示赋值的变量,赋值语句可能需要执行某一些方法得到的值赋予该变量,那么在这个阶段是和第一种情况是一样的。如果没有通过这个阶段,JVM不会正确装载这个类,如果通过了这个阶段的检查,也不能说明这个类是完全正确的。这应该很清楚了,就是用符号代表常量池中的常量,然后去引用这个符号。

2023-04-12 17:42:00 189 1

空空如也

空空如也

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

TA关注的人

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