Die Frage kam auf, als ich diesen Code sah:
private static volatile ConcurrentHashMap<String, String> cMap = null;
static {
cMap = new ConcurrentHashMap<String, String>();
}
Für mich sieht es so aus, als ob das flüchtige Element dort überflüssig ist, da der Container ConcurrentHashMap die nach der JavaDoc hat bereits Synchronisationspakete , DUH, die Klasse, die die cMap wird nur einmal instanziiert und hat keine Methoden, um sie zu setzen oder zu erhalten.
Das Einzige, was ich sehe flüchtig ist, dass ich, wenn ich die cMap um in naher Zukunft auf ein neues Objekt zu verweisen, würden diese Lese- und Schreibvorgänge synchronisiert werden.
Übersehe ich etwas?