前言
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
一、事务的定义
- 事务:就是一组操作要么全部成功,要么全部失败回滚,目的就是为了保证数据的一致性。
二、事务的ACID特性
- 1、原子性(Atomicity):当前事务的操作要么全部成功,要么全部同时失败。
- 它是由undo log日志来实现。
- 2、一致性(Consistency):事务前后的数据是一致的。
- 它是由其他三个特性来保证的。
- 3、隔离性(Isolation):事务之间互相不影响。
- 它是由mysql的各种锁以及,MCCC机制来实现的。
- 4、永久性(Durability):事务一旦提交成功,对数据的修改就是永久性的。
- 它是由redo log 来实现的。
三、事务的隔离性
- 在mysql中的InnoDB引擎中,定义了四种隔离级别&