title: Is it safe to use hashmap value reference when it may be updated in another thread
body: <p>Is it safe to use <i>getParameter</i></p>
  
  <p>Since I can tolerate the value is not latest.<br>
  And when next time I can get the latest value of Parameter</p>
  
  <p>Code like this :</p>
  
  <pre><code> public class ParameterManager {
  
      private volatile Map&lt;String, Parameter&gt; scenarioParameterMap = Maps.newHashMap();
  
      public ParameterManager(String appName) throws DarwinClientException {
      }
  
      public Parameter getParameter(String scenario) {
          return scenarioParameterMap.get(scenario);
      }
  
      public void update(String scenario, Map&lt;String, String&gt; parameters) {
           if (scenarioParameterMap.containsKey(scenario)) {
               Parameter parameter = scenarioParameterMap.get(scenario);
               parameter.update(parameters);
           } else {
              scenarioParameterMap.put(scenario, new Parameter(scenario, parameters));
          }
      }
  }
  </code></pre>
  
  <p>or  the update is just use </p>
  
  <pre><code>             scenarioParameterMap.put(scenario, new Parameter(scenario, parameters));
  </code></pre>