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

并发事务问题

脏读

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

幻读

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

不可重复读

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

解决事务问题的方法

对事务进行隔离

Read Uncommitted 未提交读(不常用)

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

Read committed 读已提交

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

Repeated Read 可重复读(mysql默认)

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

Serializable 串行化(不常用)

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

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

相关推荐
天码-行空1 分钟前
深入拆解Tomcat架构:多层容器设计原理
java·架构·tomcat
澈2071 分钟前
C++面向对象编程:从封装到实战
开发语言·c++
巨量HTTP3 分钟前
Python 获取动态 iframe 内容(完整解决方案)
开发语言·python
minji...7 分钟前
Linux 网络套接字编程(三)UDP服务器与客户端实现:Windows与Linux通信,新增字典翻译功能的 UDP 通信
linux·服务器·开发语言·网络·windows·算法·udp
人道领域12 分钟前
【Redis实战篇】秒杀系统:一人一单高并发实战(synchronized锁实战与事务失效问题)
java·开发语言·数据库·redis·spring
0xDevNull16 分钟前
Spring中统一异常处理详细教程
java·开发语言·后端
one_love_zfl16 分钟前
java面试-spring篇
java·spring·面试
炘爚17 分钟前
深入解析C++多态:虚函数与动态联编
开发语言·c++·多态·虚函数
shjita17 分钟前
maven涉及的配置
java·前端·maven