李锋镝的博客 - LiFengdi.Com

  • 首页
  • 时间轴
  • 留言
  • 左邻右舍
  • 我的日常
  • 关于我
锁
技术

Redisson分布式锁的watch dog自动续期机制

背景 据Redisson官网的介绍,Redisson是一个Java Redis客户端,与Spring 提供给我们的 RedisTemplate 工具没有本质的区别,可以把它看做是一个功能更强大的客户端(虽然官网上声称Redisson不只是一个Java Redis客户端) 我想我们用到 Redisson 最多的场景一定是分布式锁,一个基础的分布式锁具有三个特性: 互斥:在分布式高并发的条件下,需要保证,同一时刻只能有一个线程获得锁,这是最最基本的一点。 防止死锁:在分布式高并发的条件下,比如有个线程获得锁的同时,还没…

2023年1月5日 0条评论 273点热度 0人点赞 阅读全文
原创

JAVA之从线程安全说到锁

什么是线程安全? 线程安全是指保证多线程环境下共享的、可修改的状态的正确性。 线程安全需要保证几个基本特性 原子性:相关操作不会中途被其他线程干扰,一般通过同步机制实现。 可见性:一个线程修改了某个共享变量,其状态能够立即被其他线程知晓,通常被解释为将线程本地状态反映到主内存上,volatile就是负责保证可见性的。 有序性:保证线程内串行语义,避免指令重排。 大部分情况下,为了保证线程安全,就要用到锁,加上锁后,每次只允许一个线程运行这段代码,也就是每个时间只能有一个线程访问共享数据。这样就实现了线程安全。 JA…

2019年10月12日 0条评论 13496点热度 0人点赞 阅读全文
原创

JAVA关键字之volatile关键字说明

volatile作用 volatile主要是为了解决多线程内存不可见问题。 对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。 其次是为了保证代码的有序性。 虚拟机在编译的时候,是有可能把代码的顺序进行重排序的,不一定会按照我们写的代码的顺序来执行,对于有些代码进行重排序之后,虽然对变量的值没有造成影响,但有可能会出现线程安全问题的。 如果一个变量被声明volatile的话,那么这个变量不会被进行重排序,也就是说,虚拟机会保证这个变量之前的代码一定会比它先执行,而之后的代码一定会比它慢执…

2019年10月11日 0条评论 13674点热度 1人点赞 阅读全文
原创

ConcurrentHashMap常用方法源码解析(jdk1.8)

ConcurrentHashMap数据结构 ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构可能是链表,也可能是红黑树,红黑树是为了提高查找效率。具体是链表还是红黑树,要看binCount是否大于等于转化为红黑树的阈值。 ConcurrentHashMap继承关系 public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Se…

2019年10月10日 2条评论 13547点热度 1人点赞 阅读全文
技术

数据库中的锁-SQL Server版

背景 数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚上,我可愁死了,这么多小姐姐,我翻张牌呢? 办法当然是精兵简政,删除那些age>18的,给年轻的小姐姐们留位置... 于是我在数据库中添加了一个定时执行的小程序,每到周日,就自动运行如下的脚本 delete from '后宫佳丽' where age>18 一开始还自我感觉良好,后面我就发现不对了,每到周日,这个脚本一执行就是一整天,运行的…

2019年10月9日 0条评论 13528点热度 0人点赞 阅读全文
网站统计
  • 文章总数:304 篇
  • 评论总数:452 篇
  • 标签数量:226 个
  • 最后更新:2023年01月29日
  • 建站日期:2016年6月6日

花褪残红青杏小,燕子飞时,绿水人家绕。枝上柳绵吹又少,天涯何处无芳草。
墙里秋千墙外道,墙外行人,墙里佳人笑。笑渐不闻声渐悄,多情却被无情恼。

最新 热点 随机
最新 热点 随机
开工啦~ 今晚,回家过年! 图数据库选型:Neo4j、Janus、HugeGraph Redisson分布式锁的watch dog自动续期机制 哀莫大于心死 你好,2023
居家办公了~C# 11 的这个新特性,我愿称之最强!看病难~取药难~~IDEA下载源码报:Cannot connect to the Maven process. Try again later.RocketMQ的push消费方式实现详解国庆节过的也很累~~
北京的秋天 ConcurrentHashMap常用方法源码解析(jdk1.8) SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码) 海琴烟~~~ 为什么同样是分布式架构的Kafka需要Leader而Redis不需要? 微服务架构梳理总结
最近评论
Frankie Bridge 发布于 14 小时前(02月05日) Hi! Just wondering- what template did you use for ...
lyshark 发布于 3 周前(01月18日) 已添加贵站,申请交换友链:) name: LyShark - 孤风洗剑 link: https:...
poetry 发布于 1 个月前(01月05日) 感谢分享
李锋镝 发布于 1 个月前(12月29日) 谢谢谢谢~已经阴了
星空 发布于 1 个月前(12月28日) 祝军早日转阴 :Y.wb26:
友情链接
  • 志文工作室
  • 临窗旋墨
  • 旧时繁华
  • 城南旧事
  • 强仔博客
  • 林三随笔
  • 徐艺扬的博客
  • 猫鼬的星球计划
  • 云辰博客
  • 韩小韩博客
  • 知向前端
  • 阿誉的博客
  • 林羽凡
  • 情侣头像
  • 周良博客
  • 马内
  • 哥斯拉
  • Xym's blog
  • LyShark - 孤风洗剑
标签云

Your browser doesn't support the HTML5 CANVAS tag.

  • Spring
  • 高并发
  • MQ
  • 分布式锁
  • 锁
  • 微服务
  • 教程
  • ElasticSearch
  • SpringBoot
  • 博客
  • Spring Cloud
  • 重构
  • Spring Cloud Gateway
  • JAVA
  • docker
  • JVM
  • 文学
  • hbase
  • 妹妹的画
  • Git
  • Zookeeper
  • 程序员
  • 面向对象
  • 面试
  • Excel
  • 散文
  • 文档
  • RocketMQ
  • Linux
  • Python
  • MySQL
  • Redis
  • 程序人生
  • 多线程
  • 分布式
  • https
  • Eclipse
  • Visual Studio
  • SQL
  • 搜索
  • 架构
  • K8s
  • 数据库
  • 领域模型
  • 日常
  • IDEA
  • SEO
  • 设计模式
  • Xshell
  • UML

COPYRIGHT © 2022 lifengdi.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备16004681号-2