- 博客(2)
- 收藏
- 关注
转载 关于spring事务失效的笔记
1.访问权限问题 如果我们自定义的事务方法(即目标方法),它的访问权限不是public,而是private、default或protected的话,spring则不会提供事务功能。 2.方法用final修饰 如果某个方法用final修饰了,那么在它的代理类中,就无法重写该方法,而添加事务功能。 如果某个方法是static的,同样无法通过动态代理,变成事务方法。 3.方法内部调用 在同一个类中的方法直接内部调用,会导致事务失效。 解决方法: a.新加一个Service方法,把@Transact
2022-01-13 15:27:16
161
原创 volatile与synchronized的区别
volatile只能修饰实例变量和类变量,而synchronized可以修饰方法,以及代码块。 volatile保证数据的可见性,但是不保证原子性(多线程进行写操作,不保证线程安全); 而synchronized是一种排他(互斥)的机制。 volatile用于禁止指令重排序:可以解决单例双重检查对象初始化代码执行乱序问题。 volatile可以看做是轻量版的synchronized,volatile不保证原子性,但是如果是对一个共享变量进行多个线程的赋值,而没有其他的操作,那么就可以用v
2021-08-11 10:19:18
256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人