我有一个 Java 中的 Singelton(在 OSGi 服务中),并希望在其中维护一些状态(计数器)。
这个变量应该是静态的吗?或同步?或两者?
或者我应该将动作包装在同步方法中?(这与仅使 var 同步有什么不同吗?)
我希望服务操作的消费者增加这个计数器。
public MyServiceImpl implements MyService {
private int count = 0; // static? syncronized?
public String helloWorld() { count++; return "Hello World"; }
public int getHelloCount() { return count; }
}
更新:我怎么会像地图或列表这样的东西?是否也更喜欢使用这些的原子版本?或者同步更好?