事务问题
对于数据库的划分分为两种:关系型数据库、NoSQL数据库。
关系型数据库有一个最为重要的概念就是ACID原则。
ACID,指数据库事务正确执行的四个基本要素的缩写:
- 原子性(Atomicity):整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样;
- 一致性(Consistency):一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少;
- 隔离性(Isolation):隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同时间内,执行相同功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统;
- 持久性(Durability)在事务完成以后,该事务对数据库所做的更改便持久的保存在数据库之中,并不会被回滚。
实际上在开发之中可能见到的事务处理模式有三种:
- 第一种:JDBC的原始处理,它只提供有:commit()、rollback()、setAutoCommit();
- 第二种:容器控制事务,使用jta组件,一般不用;
- 第三种:Spring的事务控制,在Spring里面针对事务操作有一些自己逻辑性的提升。
最直白的理解:事务处理的核心思想,所有操作要么一起成功,要么一起失败。
更多专业知识,面试技巧就在面试一点通,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧