JAVA 面试 事务_《java面试宝典》之事务常见面试题

时间:2025-04-13 07:09:06

一、 ACID

1. 原子性:一系列的操作具有不可分割性,要么成功,要么失败

2. 一致性:操作的前后满足同样的规则,保持平衡。

3. 隔离性:在事务运行的过程中。事务内的数据对外的可见性      和可操作性(必需由数据库的支持)

4. 稳定性:保证数据在事务的操作的过程中不会遭到破坏,而 且是永久性存储的

二、 事务模型

1. 经典事务模型(JDBC) 事务不允许嵌套

2. 分布式事务两阶段提交协议和稳定性

三、 事务的两种方式

1. 声明式

在配置文件中设置以下6项

(1).required

如果客户端没有事务 在bean中新起一个事务

如果客户端有事务bean 中就加进去

(2)、 requiresNew

不管客户端有没有事务服务器段都新起一个事务

如果客户端有事务就将事务挂起

(3)、supports

如果客户端没有事务服务端也没有事务

如果客户端有事务服务端就加一个事务

(4)、mandatcry

如果客户端没有事务服务端就会报错

如果客户端有事务服务端就加事务

(5)、notSupported

不管客户端有没有事务服务端都没有事务

如果客户端有事务服务端就挂起

(6)、never

不管客户端有没有事务服务端都没有事务

如果客户端有事务就报错

2. 编程式事务

JTA 事务可以精确到事务的开始和结束