Suppose you are running a single application server node, but you install two different ear files (applications). These two have certain "common code", classes that they both use. Now suppose that one of these classes implements the Singleton pattern, and is used to control access to (in effect) a piece of global memory. Each of the two classes has the same path, in the sense of having the same name and package statement, but in different jar files.
So where are we going with this? Are there, in fact, one or two copies of the class being maintained by the JVM?