I have a class ConfigService. The field config in this class is designated as volatile. It is assumed that several threads will read config using getConfig(), and one thread will update using update() . Will reader threads see new values in config object if a new newConfig object is assigned in the config field?
public class ConfigService{
private volatile Config config = new Config();
public updateConfig(Config newConfig){
config = newConfig;
}
public Config getConfig() {
return config;
}
}
public class Config{
private Integer myInt;
private String myString;
public Integer getMyInt() {
return myInt;
}
public String getMyString() {
return myString;
}
}