阿古拉咕
码龄3年
关注
提问 私信
  • 博客:11,404
    11,404
    总访问量
  • 8
    原创
  • 808,095
    排名
  • 8
    粉丝
  • 0
    铁粉

个人简介:Java学习中欢迎相互交流学习

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:美国
  • 加入CSDN时间: 2021-09-09
博客简介:

qq_61692791的博客

查看详细资料
个人成就
  • 获得11次点赞
  • 内容获得16次评论
  • 获得27次收藏
创作历程
  • 8篇
    2023年
成就勋章
兴趣领域 设置
  • Java
    tomcatspring bootspring cloudjvmmybatis
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Redisson快速入门,工厂模式结合AOP、SPEL动态切换锁类型与锁失败策略。

前面说到为了解决分布式环境下锁失效问题,我们最常用的一个第三方开源框架就是Redisson。
原创
发布博客 2023.07.07 ·
551 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

分布式锁失效问题

都会指向一个锁监视器,但是每个锁监视器同一时刻只能被一个线程持有,这样再单机模式下,不同服务的JVM当然不能通信,这样就会出现锁失效问题。这样线程2来的时候是可以获取锁的,线程2去执行业务中,线程1醒了,因为已经通过了校验,我给你锁删了,又发生了锁误删问题。当且仅当这个key不存在时setnx才能执行成功,并且返回1,其它情况都会执行失败,并且返回0.我们就可以认为返回值是1就是获取锁成功,返回值是0就是获取锁失败,实现互斥效果。锁的重入问题:同一个线程多次获取锁的场景,目前不支持,可能会导致死锁。
原创
发布博客 2023.07.04 ·
1686 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

一套学会并发安全、锁失效、事务边界、事务失效

并发安全问题
原创
发布博客 2023.07.03 ·
515 阅读 ·
2 点赞 ·
2 评论 ·
2 收藏

兑换码生成算法

基于BitMap:兑换或没兑换就是两个状态,对应0和1,而兑换码使用的是自增id.我们如果每一个自增id对应一个bit位,用每一个bit位的状态表示兑换状态,是不是完美解决问题。而2的5次幂刚好就是32,因此5个二进制位的结果就是0~31,所以我们直接把数字转成二进制,每五个一组转10进制的结果是不是刚好对应一个角标。为了避免密钥被猜出来,我们再在32位自增长序列号前加上一个4bit位的新鲜值,4位对应了16组密钥,值是多少就取第几组的密钥,最后再把加权的和也就是签名转为二进制14bit位拼在前面。
原创
发布博客 2023.07.01 ·
5112 阅读 ·
6 点赞 ·
6 评论 ·
13 收藏

虚拟机一直链接超时,连接不上网络。

虚拟机网络链接超时
原创
发布博客 2023.06.28 ·
821 阅读 ·
0 点赞 ·
2 评论 ·
4 收藏

苍穹外卖day02

解释一下上述代码,每增加一个菜品会对dish表插入一条新的菜品信息,一个菜品对应多个口味信息。插入一个菜品后,通过回显记录当前菜品id,遍历口味集合,判空后将dishId设置给DishFlavor再先口味表插入数据。下面在插入口味时可以get到当前菜品的id。工和菜品时都需要设置创建时间,创建人,修改时间,修改人,以及修改时间和修改人,每次在Impl中set会产生大量重复代码。在比较枚举类型的时候==和equals都可以,但是==更好,因为equals底层其实是==去实现的。
原创
发布博客 2023.05.11 ·
1301 阅读 ·
0 点赞 ·
2 评论 ·
6 收藏

苍穹外卖day01

编辑没什么注意的,记得在 ServiceImpl 类中使用 BeanUtils.copyProperties将DTO的数据拷贝到我们new出来的employee,并且设置当前修改时间和修改人(BaseContext.getCurrentId())在检验JWT时已经将 id 存入Thread的局部变量。如下会扫描entity下的所有类。此项目中,由于有关查询查询需要返回data数据,这里建议在Controllor的返回类型加上泛型,而其他的业务不需要返回data只用返回code就行,所以也可以不加泛型。
原创
发布博客 2023.05.09 ·
1151 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

Git的入门学习

1、Git是一个分布式版本控制工具,用于来管理开发过程的源代码。2、Git分为本地仓库和远程仓库3、在本地仓库中,被Git管理的文件夹会有一个.git的隐藏文件,4、远程仓库是一个远程服务器上的 Git 仓库(常用gitee码云)commit:提交,将本地文件和版本信息保存到本地仓库push:推送,将本地仓库文件和版本信息上传到远程仓库pull:拉取,将远程仓库文件和版本信息下载到本地仓库。
原创
发布博客 2023.05.06 ·
235 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏