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

并发事务问题

脏读

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

幻读

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

不可重复读

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

解决事务问题的方法

对事务进行隔离

Read Uncommitted 未提交读(不常用)

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

Read committed 读已提交

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

Repeated Read 可重复读(mysql默认)

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

Serializable 串行化(不常用)

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

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

相关推荐
雨中飘荡的记忆9 小时前
保证金系统入门到实战
java·后端
Nyarlathotep01139 小时前
Java内存模型
java
暮色妖娆丶13 小时前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
NE_STOP14 小时前
MyBatis-参数处理与查询结果映射
java
狂奔小菜鸡14 小时前
Day40 | Java中的ReadWriteLock读写锁
java·后端·java ee
SimonKing15 小时前
JetBrains 用户狂喜!这个 AI 插件让 IDE 原地进化成「智能编码助手」
java·后端·程序员
狂奔小菜鸡15 小时前
Day39 | Java中更灵活的锁ReentrantLock
java·后端·java ee
NE_STOP1 天前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室1 天前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai