日常思考笔记

技术管理,

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

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

考核规范,

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)的结合,用于解决事务中的幻读问题

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

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

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

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

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

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

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

相关推荐
bjzhang7519 小时前
C#操作SQLite数据库
数据库·sqlite·c#
hans汉斯19 小时前
嵌入式操作系统技术发展趋势
大数据·数据库·物联网·rust·云计算·嵌入式实时数据库·汉斯出版社
Coder_Boy_20 小时前
Spring 核心思想与企业级最佳特性(实践级)事务相关
java·数据库·spring
小智RE0-走在路上20 小时前
Python学习笔记(11) --数据可视化
笔记·python·学习
+VX:Fegn089520 小时前
计算机毕业设计|基于springboot + vue宠物寄养系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计·宠物
一 乐20 小时前
校园实验室|基于springboot + vue校园实验室管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
坚定信念,勇往无前20 小时前
mongodb备份的脚本
数据库·mongodb
杨忆21 小时前
构建自己的开发工作台MFC
数据库·c++·mfc
阿巴~阿巴~21 小时前
告别命令行:Navicat可视化操作数据库(附安装使用教程)
服务器·数据库·mysql·navicat·可视化操作数据库
zhangyifang_0091 天前
MySQL中实现“小计”与“合计”
数据库·mysql