Exatamente como o Tomcat Classloader separa o escopo de objeto Webapps diferente na mesma JVM?

Já que o Tomcat pode carregar mais de um webapp de uma só vez, e esses aplicativos web podem trabalhar separados, e não perturbam um ao outro, e eles trabalham na mesma JVM. Então, estou muito confuso sobre como o tomcat manipula o escopo do objeto na mesma JVM.

Por exemplo, eu tenho um objeto singleton em ambos os dois Webapps diferentes, e o tomcat irá gerar dois objetos singleton diferentes para cada um. Eu sempre pensei que o objeto singleton tivesse apenas um objeto na mesma JVM, mas no JVM do tomcat talvez houvesse dois ou mais.

Eu li algumas informações sobre o ClassLoader, o Tomcat tem seu próprio WebAppClassLoader para carregar aplicativos da Web. Então, isso significa que o escopo de objeto aqui é o ClassLoader ou estou errado. Alguém sabe sobre isso ou pode me dar alguma informação sobre layout de memória de trabalho tomcat?

questionAnswers(7)

yourAnswerToTheQuestion