步骤:
1.开启事务
2.第二步:扣除A账户100元;
3.第三步:B账户增加100元;
4.第四步:提交事务。
事务是如何保证的呢?
这就要说到事务的几个特征:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability),也就是常说的ACID特性。
原子性(atomicity):知道原子是什么吗?原子在化学反应中不可分割,也就是说原子是最小单位,一个事务必须被作为一个不可分割的最小工作单员,在一个事务中,所有操作要么同时成功,要么同时不执行,对于同一个事务,永远不能出现一个操作成功,另一个操作失败的情况,这就是事务的原子性。
**一致性(consistency):数据库总是从一个一致性的状态转换到另一个一致性的状态,也就是说从一个状态改编成另一个状态,转账为例,初始状态A账户100元,B账户
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
0元,假设在执行了A账户的扣钱操作之后系统奔溃,导致状态的转换没有完成,因此