title: How Tomcat Classloader separates different Webapps object scope in same JVM?
body: <p>Since Tomcat can load more than one webapp at once, and those webapps can work separately, and do not disturb each other, and they work in same JVM. 
  So I am very confused about how tomcat handle The Object scope in the same JVM.</p>
  
  <p>For example I have a singleton object in both of the  two different Webapps, and tomcat will generate two different singleton Object for each. I  always thought that the singleton object have only one object in the same JVM, but in tomcat JVM there maybe has two or more. </p>
  
  <hr>
  
  <p>I have read some info about the ClassLoader, Tomcat has its own WebAppClassLoader to load webapps. So does it mean the Object Scope here is the ClassLoader or am I wrong. Does anyone know about this or can give me some info about tomcat work memory layout?</p>