从缓存中读取时如何避免修改相同的对象实例?

时间:2016-11-15 23:54:30

标签: java

我有一个内存缓存支持下面说明的db-call。我刚碰到一个bug,因为Config对象的同一个实例正在被修改,而实际上我想每次都有一个“新鲜”的实例(没有进入db)。

问题是

1)从缓存加载时避免修改同一对象的最佳做法是什么?

2)从缓存中读取后是否要深度复制对象并使用深度复制的对象?

3)如果是这样,深度复制对象的最简单方法是什么?

public void doStuff(String configId) {
    Config config = someUserCache.get(configId);

    //Modifies config   
    config.getSomeConfig().remove();
}

0 个答案:

没有答案