设置静态变量的线程可能与用于访问它们的线程不同,因此
volatile需要使用修饰符在所有线程之间同步内存。
没有的情况
volatile是这样的:
- 在初始化JPA提供程序之前,您的线程将访问变量,并获取
null
静态字段 - JPA提供程序是从其他线程初始化的,并将静态字段设置为非空值
- 您的线程再次访问静态字段。在这种情况下,线程的缓存内存将看不到更改,并继续
null
为所有静态字段返回。

设置静态变量的线程可能与用于访问它们的线程不同,因此
volatile需要使用修饰符在所有线程之间同步内存。
没有的情况
volatile是这样的:
null静态字段
null为所有静态字段返回。