Performance implications when using singleton from non-singletons in Java?
<p>Suppose there are several instances of a class simultaneously calling service methods defined in a singleton class. </p>

<p>Can some one explain to me what happens at the low level when a method is called in a singleton when that method is already being executed by some other instance of the class? I am thinking that JVM would block the caller until the current caller is done with the method. Is this right?</p>

<p>Would it improve performance if we move some of the methods in the singleton class to define them within the class needing such methods?</p>

<p>Would it improve performance if singleton is changed to non-singleton allowing each instance of a class needing to call the service methods in another class to create its own instance of the service class?</p>

<p>Assume of course singleton is stateless.</p>

<p>Consider the situation multiple threads calling service methods in the singleton.</p>
