日常思考笔记

技术管理,

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

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

考核规范,

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

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

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

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

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

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

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

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

相关推荐
qq_372154237 分钟前
SQL嵌套查询中常见报错排查_语法与权限处理
jvm·数据库·python
0xDevNull11 分钟前
MySQL 别名(Alias)指南:从入门到避坑
java·数据库·sql
三品吉他手会点灯12 分钟前
STM32F103 学习笔记-21-串口通信(第4节)—串口发送和接收代码讲解(中)
笔记·stm32·单片机·嵌入式硬件·学习
2401_887724501 小时前
CSS如何设置文字溢出显示省略号_利用text-overflowellipsis
jvm·数据库·python
m0_747854521 小时前
golang如何实现应用启动耗时分析_golang应用启动耗时分析实现思路
jvm·数据库·python
雪碧聊技术1 小时前
下午题_试题二
数据库
雾岛听蓝1 小时前
Qt操作指南:窗口组成与菜单栏
开发语言·经验分享·笔记·qt
解救女汉子1 小时前
如何截断SQL小数位数_使用TRUNCATE函数控制精度
jvm·数据库·python
2301_803875611 小时前
如何用 objectStore.get 根据主键 ID 获取数据库单条数据
jvm·数据库·python
weixin_458580122 小时前
如何修改AWR保留时间_将默认8天保留期延长至30天的设置
jvm·数据库·python