当我们在weblogic intance上启动受管服务器时,受管服务器启动jvm。对? 那么现在当我们在同一个托管服务器上的同一个weblogic实例上部署多个应用程序(war文件,ear文件)等时,所有这些应用程序都在同一个jvm上运行吗? 那么属于app1的对象(name = obj1)与app2中类似命名的对象(name = obj2)的区别是什么?
答案 0 :(得分:3)
是的,所有应用程序(如EAR,WAR)都在同一个JVM中运行。
JVM是一个java进程,这些工件是在该JVM中运行的多个应用程序。
我不清楚你的意思是对应的名称在应用程序中是相同的(你的问题是obj1和obj2),但如果它们是连接池之类的东西,它们凭借JNDI在应用程序中具有唯一的标识符。
如果您指的是简单类(和对象),它们将由Java类加载器单独加载和维护。
阅读文档上的Application Classloading Hierarchy
每个应用程序都有自己的 classloader层次结构;的父母 此层次结构是系统类路径 类加载器。这种隔离 应用程序使应用程序A 看不到类加载器或类 申请B。