日常思考笔记

技术管理,

团队管理,人才培养,梯队建设

项目管理,项目全生命周期,项目进度

考核规范,

AQS 是CountDownLatch,ReentrantLock,Semaphore,ReentrantReadWriteLock的基础

volatile 关键字

CAS(Compare And Swap)

独占,公平锁,非公平锁

共享,都能拿到锁

ReentrantLock,可重入锁,原理是基于 AQS 实现,AQS 是一个实现同步器的抽象类

公平锁,用队列实现,先到先得

非公平锁,抢占模式,谁抢到就是谁的

Semaphore 信号量

ABA 问题,加版本号

READ COMMITTED,读已提交

REPEATABLE READ,可重复读

next-key locking,临键锁,涉及行锁(Record Lock)和 间隙锁(Gap Lock)的结合,用于解决事务中的幻读问题

读未提交,出现脏读,什么是脏读,就是一个事务读取到了另外一个事务未提交的事务

怎么解决脏读,升级隔离级别到 读已提交

读已提交也存在问题,就是不可重复读,什么是不可重复读,在同一个事务中,多次读取同一个数据,结果不同

怎么解决不可重复读,升级隔离级别到可重复读

可重复读,也存在问题,幻读,什么是幻读,一个事务在同一个时间点查询同一个范围的数据,结果发现有新的数据满足查询条件

怎么解决幻读的问题,升级隔离界别到串行化

串行化,可以解决上面的所有问题,但是,会严重影响性能,因为每个线程都是顺序执行,并且都是独立的,不存在并发

相关推荐
Flying pigs~~12 分钟前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL1 小时前
mysql之如何获知版本
数据库·mysql
许彰午1 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_832365522 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
2301_779622412 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
love530love2 小时前
精简版|Claude-HUD 插件介绍 + 一键安装教程
人工智能·windows·笔记
2301_766283442 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱2 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
想成为优秀工程师的爸爸3 小时前
第三十篇技术笔记:郭大侠学UDS - 人有生老三千疾,望闻问切良方医
网络·笔记·网络协议·tcp/ip·信息与通信
XDH_CS3 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql