Java面试题:并发事务问题和事务隔离级别

并发事务问题

脏读

一个事务读到了另一个事务还没有提交的数据

幻读

按条件查询数据时发现没有数据,但插入时数据存在,就像出现了幻觉

不可重复读

同一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读

解决事务问题的方法

对事务进行隔离

Read Uncommitted 未提交读(不常用)

存在问题:脏读,幻读,不可重复读

Read committed 读已提交

存在问题:幻读,不可重复读 解决:脏读

Repeated Read 可重复读(mysql默认)

存在问题:幻读 解决:脏读,不可重复读

Serializable 串行化(不常用)

所有事务必须串行执行,在上一个事务完成后才能执行下一个事务

解决:脏读 幻读 不可重复读

相关推荐
charlie114514191几秒前
嵌入式Linux驱动开发——从轮询到中断
linux·开发语言·驱动开发·嵌入式
凡人叶枫3 分钟前
Effective C++ 条款40:明智而审慎地使用多重继承
java·数据库·c++·嵌入式开发·effective c++
放弃 治疗6 分钟前
宝塔面板安装 JDK 完整教程|Java 环境配置详解
java·开发语言
工头阿乐9 分钟前
使用Conan构建现代C++项目:完整指南
开发语言·c++
至此流年莫相忘17 分钟前
Spring 依赖注入三剑客:@Autowired、@Resource 与 @RequiredArgsConstructor 深度对比与实战指南
java·数据库·spring
零陵上将军_xdr29 分钟前
为什么DCL单例要加volatile?——CPU乱序执行与内存屏障
java·linux
master33638 分钟前
python 安装pip
开发语言·python·pip
思麟呀38 分钟前
C++14概述与三大核心语法改进
开发语言·c++
shushangyun_43 分钟前
批发商城系统源码多少钱?2026最新报价一览
java·开发语言·人工智能·spring·spring cloud
cfm_291444 分钟前
JVM深度详解:Class常量池、运行时常量池、字符串常量池、包装类对象池
java·jvm