相关疑难解决方法(0)

如果我在Spring Framework中的@PostConstruct中初始化它们,我应该将对象属性标记为volatile吗?

假设我在Spring单例bean中做了一些初始化@PostConstruct(简化代码):

@Service
class SomeService {
  public Data someData; // not final, not volatile

  public SomeService() { }

  @PostConstruct
  public void init() {
     someData = new Data(....);
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该担心someData其他豆类的可见性并标记它volatile吗?

(假设我无法在构造函数中初始化它)

第二种情况:如果我覆盖了@PostConstruct(例如在构造函数中进行显式初始化或初始化之后),那么写入@PostConstruct 将不会首先写入此属性?

java concurrency spring volatile

18
推荐指数
2
解决办法
5035
查看次数

标签 统计

concurrency ×1

java ×1

spring ×1

volatile ×1