Traditionally you'd deploy a bunch of apps to one container (Tomcat, or whatever) and they'd all share the same JVM. I'm not sure if jars are shared in this way or not. I think OSGI was supposed to allow deploy apps to reuse the same jars and resources but I don't know how commonly that is deployed.
Now it is more common to run Tomcat or Jetty embedded for your app so that they are isolated.
Now it is more common to run Tomcat or Jetty embedded for your app so that they are isolated.