- 博客(5)
- 收藏
- 关注
原创 UUID唯一性的一些“八股”,是否依赖于MAC地址?
因此,在实际应用中,Version 1 UUID的使用逐渐减少,更多使用Version 4 UUID(基于随机数)。如果别人知道你的身份证号(Version 1 UUID),他们可能会猜到你的出生地(MAC地址),所以现在更多人使用随机生成的彩票号码(Version 4 UUID)。使用命名空间(如URL、域名)和输入数据(自己保证是业务上唯一的数据即可),通过SHA-1哈希算法生成。为了确保每个人的身份证号(UUID)都是唯一的,需要结合出生时间(时间戳)和出生地(MAC地址)。
2025-03-14 14:46:06
301
原创 @Resource 和 @RequiredArgsConstructor 注入方式不同带来的数据不一致的问题
具体的getSerializer()方法如下,如下图RedisTemplate类中有一个属性变量为valueSerializer,因此我使用反射的方式获取对应的字段,然后再设置为可访问,然后传入对应的示例对象,获取该对象对应的valueSerializer字段。首先,我开了一个demo项目,然后造了两个接口,一个是http://127.0.0.1:8080/redis,一个是http://127.0.0.1:8080/redis/2 ,下方两个图是具体的代码逻辑。于是,我的接口就报错了,查了日志。
2025-02-26 15:40:01
315
1
原创 直接操作数据库再删除缓存与延迟双删策略差异的一些解释
在数据库更新后,如果直接删除缓存,而此时恰好有大量请求涌入,这些请求会因为缓存缺失而直接打到数据库上,形成所谓的“缓存穿透”,这可能会对数据库造成极大的压力,甚至导致服务不可用。:通过在数据库操作前后各进行一次删除操作,尤其是在第二次删除(延迟后删除)时加入适当的延迟,可以给之前的读请求留出足够的时间完成,从而减少由于并发带来的不一致问题。:虽然第一次删除时可能会有短暂的缓存缺失,但相比于直接更新数据库再删除缓存,这种方式能更好地控制并发请求对数据库的冲击,维护服务的稳定性,从而间接提升用户体验。
2024-05-30 16:32:47
481
1
原创 Java基础:垃圾回收器会回收的对象
不再被任何活跃对象引用的对象:当一个对象不再被任何其他对象引用时,它就成为垃圾,垃圾回收器会将其回收并释放其占用的内存空间。对象的引用被置为null的情况:如果一个对象的引用被置为null,意味着程序不再需要这个对象,垃圾回收器会将其回收。总的来说,Java的垃圾回收器会回收不再被程序使用的对象和内存空间,以确保内存的有效利用和程序的性能优化。程序结束时未释放的内存:在程序结束时,垃圾回收器会回收程序运行时分配的所有内存,包括未显式释放的内存。//搬运自GPT问答。
2023-12-21 20:25:44
705
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人