- 博客(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关注的人