Tomcat は一度に複数の Web アプリケーションをロードできるため、それらの Web アプリケーションは別々に動作し、互いに干渉せず、同じ JVM で動作します。そのため、Tomcat が同じ JVM でオブジェクト スコープを処理する方法について非常に混乱しています。
たとえば、2 つの異なる Web アプリケーションの両方にシングルトン オブジェクトがあり、Tomcat はそれぞれに対して 2 つの異なるシングルトン オブジェクトを生成します。シングルトン オブジェクトは同じ JVM 内に 1 つのオブジェクトしかないといつも思っていましたが、Tomcat JVM には 2 つ以上のオブジェクトがある可能性があります。
ClassLoader に関する情報をいくつか読みました。Tomcat には、Web アプリケーションをロードするための独自の WebAppClassLoader があります。つまり、ここの Object Scope が ClassLoader であることを意味しますか、それとも間違っていますか。誰かがこれについて知っているか、Tomcat の作業メモリ レイアウトに関する情報を教えてくれますか?