![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java原理
simple99565
这个作者很懒,什么都没留下…
展开
-
@Transactional 失效的场景
1.非public方法上使用会失效2.开发中避免不了会对同一个类里面的方法调用,比如有一个类Test,它的一个方法A,A再调用本类的方法B(不论方法B是用public还是private修饰),但方法A没有声明注解事务,而B方法有。则外部调用方法A之后,方法B的事务是不会起作用的。这也是经常犯错误的一个地方。那为啥会出现这种情况?其实这还是由于使用Spring AOP代理造成的,因为只有当事务方法被当前类以外的代码调用时,才会由Spring生成的代理对象来管理。3.@Transactional 注解属性原创 2020-06-15 16:11:41 · 311 阅读 · 1 评论 -
乐观锁和悲观锁的概念及适用场景
一、基本概念二、实现方式(含实例)1、CAS(Compare And Swap)2、版本号机制三、优缺点和适用场景1.基本概念:乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其原创 2020-06-09 12:01:54 · 1847 阅读 · 0 评论