Da Tomcat mehrere Webapps gleichzeitig laden kann, können diese Webapps getrennt arbeiten und stören sich nicht gegenseitig, und sie arbeiten in derselben JVM. So bin ich sehr verwirrt darüber, wie Tomcat den Objektbereich in der gleichen JVM behandelt.Wie trennen Tomcat Classloader verschiedene Webapps-Objektbereiche in derselben JVM?
Zum Beispiel habe ich ein Singleton-Objekt in den beiden verschiedenen Webapps, und Tomcat wird zwei verschiedene Singleton-Objekt für jedes generieren. Ich dachte immer, dass das Singleton-Objekt nur ein Objekt in der gleichen JVM hat, aber in Tomcat JVM gibt es vielleicht zwei oder mehr.
ich einige Informationen über die Classloader gelesen haben, hat Tomcat seine eigene WebAppClassLoader Webapps zu laden. Also bedeutet es, dass der Objektbereich hier der ClassLoader ist oder ich falsch liege. Kennt jemand darüber oder kann mir etwas über tomcat Arbeitsspeicherlayout geben?