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

并发事务问题

脏读

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

幻读

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

不可重复读

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

解决事务问题的方法

对事务进行隔离

Read Uncommitted 未提交读(不常用)

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

Read committed 读已提交

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

Repeated Read 可重复读(mysql默认)

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

Serializable 串行化(不常用)

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

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

相关推荐
wepe121 分钟前
FlyEnv---phpstudy平替
java·python·mysql·nginx·php
斯文by累3 分钟前
浅析:Scheme开发语言
开发语言
Echo flower4 分钟前
使用Java将HTML内容转换为Word文档
java·html·word
IT艺术家-rookie4 分钟前
golang-- sync.WaitGroup 和 errgroup.Group 详解
开发语言·后端·golang
一人の梅雨4 分钟前
京东商品详情接口深度解析:从宙斯签名到商详数据价值重构
java·spring cloud·微服务
树下水月6 分钟前
Go语言编码规范
开发语言·后端·golang
无限大.7 分钟前
为什么“云计算“能改变世界?——从本地计算到云端服务
开发语言·云计算·perl
spencer_tseng7 分钟前
org.eclipse.wst.common.project.facet.core.xml could not be read.
xml·java·eclipse
Lisonseekpan7 分钟前
为什么Spring 推荐使用构造器注入而非@Autowired字段注入?
java·后端·spring·log4j