大家好,我是陶然同学,软件工程大三即将实习。认识我的朋友们知道,我是科班出身,学的还行,但是对面试掌握不够,所以我将用这100多天更新Java面试题🙃🙃。
不敢苟同,相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。当然,我不会太深入,因为我怕记不住!!
因此,不足的地方希望各位在评论区补充疑惑、见解以及面试中遇到的奇葩问法,希望这100天能够让我们有质的飞越,一起冲进大厂!!,让我们一起学(juan)起来!!!
事务有哪些特性
ACID四个特性
原子性:一个事务要么全部提交成功要么全部失败回滚不能只执行其中一部分操作
一致性:事务的执行不能破坏数据库数据的完整性和一致性 一个事务在执行之前和执行之后数据库都必须处于一致性状态
隔离性:并发的事务时相互隔离一个事务执行不能被其他事务干扰
持久性:事务一旦提交成功不能再改变
隔离性有哪些问题
脏读:一个事务读到了另一个事务没有提交的数据
不可重复读:一个事务读到了另一个事务已经提交的数据(更新)
虚读/幻读:一个事务读到了另一个事务已经提交的数据(添加),理论信息
隔离级别
读未提交:一个事务读到另一个事务没提交的数据
解决0个问题 存在脏读、不可重复读、虚读3个问题
读已提交:一个事务读到另一个事务已经提交的数据
解决脏读1个问题 存在不可重复读、虚读2个问题
可重复读:在一个事务中读到的数据是一致的
解决脏读、不可重复读2个问题 存在虚读1个问题
串行化:单事务一次只能有一个事务
解决了脏读、不可重复读、虚读3个问题