Tylko w jaki sposób Tomcat Classloader oddziela inny zakres obiektów Webapps w tej samej maszynie JVM?

Ponieważ Tomcat może załadować więcej niż jedną aplikację WWW jednocześnie, a te aplikacje internetowe mogą działać osobno i nie przeszkadzać sobie nawzajem, działają w tej samej maszynie JVM. Więc jestem bardzo zdezorientowany o tym, jak uchwyt tomcat Zakres obiektu w tej samej maszynie JVM.

Na przykład mam obiekt singleton w obu różnych Webappach, a tomcat wygeneruje dwa różne obiekty singleton dla każdego. Zawsze myślałem, że obiekt singleton ma tylko jeden obiekt w tej samej maszynie JVM, ale w tomcat JVM może mieć dwa lub więcej.

Przeczytałem kilka informacji o ClassLoader, Tomcat ma swój własny WebAppClassLoader do ładowania aplikacji internetowych. Czy to oznacza, że ​​zakres obiektu tutaj to ClassLoader, czy też się mylę. Czy ktoś wie o tym lub może dać mi informacje na temat układu pamięci pracy tomcat?

questionAnswers(7)

yourAnswerToTheQuestion