I\'ve read around quite a bit but haven\'t found a definitive answer.
I have a class that looks like this:
public class Foo() { private
Aren't you are actually asking if the static initialization of sharedData is thread safe and only executed once?
sharedData
And yes, that is the case.
Of course many people here have correctly pointed out that the contents of sharedData can still be modified.