public class Mem extends ConcurrentHashMap {private static final long serialVersionUID = 1L;protected MongoOperations mongoOperations = null;public static Mem data = new Mem(MongoDb.data);public Mem(MongoOperations mongoOperations) {this.mongoOperations = mongoOperations;}}
3 回答
MM们
TA贡献1886条经验 获得超2个赞
1.静态变量的初始化.是类加载的时候就初始化了.所以静态变量只初始化一次
2.当然是共享.的.因为是一个静态变量.但是静态变量的调用不应该.用obj.value方式调用.
如果你在eclipse中会报黄.(警告)..正确的调用方法是Mem.data 就是(类名称.变量的方式)
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
静态变量是被所有的类共享的 所以所有的new出来的Mem实例共享的只有一个公共的data静态变量
作为区别,下面这个例子就会出现死循环
public class Mem {
public Mem(){
new Mem();
}
}
添加回答
举报
0/150
提交
取消