- 博客(7)
- 收藏
- 关注
原创 MVCC简单易懂总结(如何实现读已提交,如何实现可重复读,幻读是什么)
网上说MVCC定义也有很多,有的对,有的却可以自己推出反例,那么我们从实验结果出发和源码去探讨一下什么是MVCC首先隔离级别这个相信大家都知道了,MVCC主要作用于读已提交和可重复读。为什么呢?1.因为读未提交是什么隔离都不做,那就是啥都不干那就不用咯。2.串行化都一个一个来哪还有什么并发。前提是innodb的存储引擎然后我们来了解一下mysql中的3个隐藏属性首先隐藏属性1备用主键,当你的表没有设置主键时那么就会启用备用主键,主要用于主键索引(个人理解,错误请大家指出谢谢大家)。隐藏属性2
2022-04-11 04:17:17 3102 5
原创 事务传播行为(重点隔离级别区别)
1、REQUIRED(TransactionDefinition.PROPAGATION_REQUIRED)支持当前事务,如果没有事务会创建一个新的事务2、SUPPORTS(TransactionDefinition.PROPAGATION_SUPPORTS)支持当前事务,如果没有事务的话以非事务方式执行3、REQUIRES_NEW(TransactionDefinition.PROPAGATION_REQUIRES_NEW)创建一个新的事务并挂起当前事务4、NESTED(Transaction
2022-04-08 14:30:16 425
原创 今天在LeetCode做的一道题
给你一个整数数组 nums 。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,7,4,1] 。选择删除下标 2 ,剩下的数组为 nums = [6,1,4,1] 。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4] 。如果一个数组满足奇数下标元素的和与偶数下标元素的和相等,该数组就是一个 平衡数组 。请
2022-03-19 00:55:15 582 1
原创 关于mybatis中#{}和${}区别的解析
#{}使用#{}的时候,会先生成一句sql语句如:其中id=1;select * from emp where id=#{id};会先生成一句select * from emp where id=?(预编译)然后再把1替换进去select * from emp where id=‘1’;(中的id为字符串)尽管我们数据库中的id定义为int类型,数据库会帮我们自动转换。就像我们java中String中存的是是数字可以强转为integer然后就存进去数据库了。${}使用 $ {}的时候
2022-03-12 17:46:05 1489
原创 springboot打包为jar包和war包的区别
为什么springboot更支持打包为jar包springboot打包为jar包和war包的区别在springboot项目中使用的是springboot内嵌的tomcat容器,而war包是运行在外部的服务器容器中的,那么就会造成两个服务器容器,这样是错误的。而jar可以通过Java -jar直接运行所以springboot更支持打包为jar包。那么如果我们一定要打包为war包我们需要怎么做呢1.首先我们需要把内置的tomcat容器不打包 test属性可以换成provided属性也是ok的2
2022-03-11 16:41:07 2766
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人