logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Redisson 分布式锁 实现核心原理

✅ 1. 互斥性:保证同一时间,只有一个线程能持有锁;✅ 2. 原子性:加锁/解锁的所有逻辑通过Lua脚本原子执行,无并发漏洞;✅ 3. 可重入:基于Hash结构实现,同一个线程可多次加锁,不会死锁;✅ 4. 防误删:解锁前先校验锁的归属,绝对不会删除其他线程的锁;✅ 5. 自动续期:看门狗机制,锁过期时间动态跟随业务执行时长,防止提前释放;✅ 6. 防死锁:自带过期时间,线程宕机后锁会自动释放;

#分布式
Spring 源码(十一)Spring流程汇总

Spring 容器初始化流程Spring 容器初始化流程大致流程如下:this():注册内置的BeanPostProcessor的BeanDefinition到容器register(annotatedClasses):注册配置类 BeanDefinition 到容器prepareRefresh():初始化前的准备工作,列如对系统属性或者环境变量进行验证obtainFreshBeanF...

Alibaba Sentinel 骨架源码分析

Sentinel 的核心骨架,将不同的 Slot 按照顺序串在一起(责任链模式),从而将不同的功能(限流、降级、系统保护)组合在一起。slot chain 其实可以分为两部分:统计数据构建部分(statistic)和判断部分(rule checking)。核心结构:业务埋点示例// 资源的唯一标识String resourceName = "testSentinel";Entry entry =

分布式基础理论 CAP & BASE 详解

BASE 理论由 eBay 架构师提出,是对 CAP 定理的延伸与补充分布式系统无需追求强一致性(CP),可通过牺牲强一致性换取高可用性(AP),同时保证数据的“最终一致性”。BASE 是三个英文单词的缩写,分别对应:基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventually Consistent)。CAP 定理是分布式系统的基础理论,核心

文章图片
#分布式
CountDownLatch并发工具类

作用CountDownLatch允许一个或多个线程等待其他线程完成操作,相当于一个加强版的join方法。核心方法CountDownLatch的构造函数接收一个int类型的参数作为计数器,如果你想等待N个点完 成,这里就传入N。countDown:负责计数器的减一await:阻塞当前线程,直到CountDownLatch计数器变成零由于countDown方法可以用在任何地方,所以这里...

JAVA多线程基础

java是一个天生就支持多线程的语言。查看JVM内的线程public static void main(String[] args) {//虚拟机线程管理的接口ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();ThreadInfo[] threadInfos =...

数据库分库分表中间件选择

以Sharding-Proxy为例,中间层将自身定义为透明的数据库代理,它提供了一种数据库服务器,该服务器封装了数据库二进制协议以支持异构语言。对DBA友好的是,现在提供的MySQL版本可以使用与MySQL协议兼容的任何类型的终端(例如MySQL Command Client,MySQL Workbench等)。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版

文章图片
#数据库#中间件
数据库分库分表中间件选择

以Sharding-Proxy为例,中间层将自身定义为透明的数据库代理,它提供了一种数据库服务器,该服务器封装了数据库二进制协议以支持异构语言。对DBA友好的是,现在提供的MySQL版本可以使用与MySQL协议兼容的任何类型的终端(例如MySQL Command Client,MySQL Workbench等)。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版

文章图片
#数据库#中间件
Mysql 数据库压力测试工具 - MySqlSlap

MySQLSlap是从MySQL的5.1.4版引入的压力测试工具。该工具我们可以在Mysql的安装目录的bin目录里面找到,如C:\Program Files\MySQL\MySQL Server 5.7\bin>。名词解释TPS:Transactions Per Second(每秒传输的事物处理个数),这是指服务器每秒处理的事务数,支持事务的存储引擎如InnoDB等特有的一个性能指标...

Java中的指令重排

在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排序。重排序分3种类型:编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。指令级并行的重排序。现代处理器采用了指令级并行技术(Instruction-Level Parallelism,ILP)来将多条指令重叠执行。如果不存在数据依赖性,处理器可以改变语句对应机器指令的执行顺序。内存系统的重排序。...

    共 14 条
  • 1
  • 2
  • 请选择