日常思考笔记

技术管理,

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

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

考核规范,

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

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

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

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

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

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

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

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

相关推荐
南境十里·墨染春水8 小时前
C++笔记 forward完美转发
开发语言·c++·笔记
吃着火锅x唱着歌8 小时前
深度探索C++对象模型 学习笔记 第四章 Function语意学(2)
c++·笔记·学习
来生硬件工程师8 小时前
【程序库】 MutiButton 按键库
c语言·笔记·stm32·单片机·mcu·嵌入式实时数据库
Rust研习社8 小时前
Rust + PostgreSQL 极简技术栈应用开发
开发语言·数据库·后端·http·postgresql·rust
河阿里8 小时前
MyBatis-Plus:MyBatis的进阶开发
数据库·mybatis
sjsjsbbsbsn8 小时前
向量数据库
数据库
逸Y 仙X8 小时前
文章十六:ElasticSearch 使用enrich策略实现大宽表
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
白夜11178 小时前
C++任务调度与状态机
开发语言·c++·笔记
Sherry Wangs8 小时前
MySQL 与向量数据库的核心区别:从结构化数据到语义搜索
数据库·mysql
@小柯555m8 小时前
MySql(高级操作符--高级操作符练习(2))
数据库·sql·mysql