当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-事务的各个隔离级别都是如何实现的

金三银四精选java面试题-事务的各个隔离级别都是如何实现的

来源:图灵教育
时间:2023-12-06 15:29:41
 

事务的各个隔离级别都是如何实现的

读未提交

读未提交,就不用多说了,采取的是读不加锁原理。

  • 事务读不加锁,不阻塞其他事务的读和写
  • 事务写阻塞其他事务写,但不阻塞其他事务读;

读已提交&可重复读

读取已提交和可重复读级别利用了ReadView和MVCC,也就是每个事务只能读取它能看到的版本(ReadView)。

  • READ COMMITTED:每次读取数据前都生成一个ReadView
  • REPEATABLE READ :在事务里第一次读取数据时生成一个ReadView

串行化

串行化的实现采用的是读写都加锁的原理。

串行化的情况下,对于同一行事务,写会加写锁,读会加读锁。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。