java – 每个war文件中没有JVM实例?

前端之家收集整理的这篇文章主要介绍了java – 每个war文件中没有JVM实例?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据我的理解,每个war文件将有一个jvm实例和一个类加载器层次结构.对?两个问题: –

问题1: – 如果我在war文件中打包我的servlet类和业务类(打包在jar文件中).这里war文件包含jar文件和servlet类.如果我尝试访问业务类中的servlet中声明的静态全局变量,我可以做到正确吗?因为这里只有一个jvm实例和类加载器层次结构

问题2: – 如上所述,如果我将我的servlet类和业务类打包在两个不同的war文件中,这两个war文件都打包在同一个ear文件下,那么如果我尝试访问业务类中servlet中声明的静态全局变量,我就无法做到.Is它正确吗?因为这里将是每个war文件的两个jvm实例和类加载器层次结构

@H_301_14@解决方法
当然,整个应用程序服务器在一个JVM中运行(至少对我所知的所有应用程序服务器都是如此).没有必要启动单独的JVM来为每个Web应用程序提供一个专用的类加载器,它可以看到不同(版本的)类.

So war file here contains jar file and servlet class. If i try access static global variable declared in servlet in business class,i can do it Correct?

您可能可以,但不应该,因为如果业务层依赖于表示层中特定类的存在,它会违反应用程序的分层.

if i package my servlet class and business class in two different war files both packaged under same ear file then If i try access static global variable declared in servlet in business class,i can not do it .Is it Correct?

再次,这是糟糕的设计.此外(据我所知)规范并未强制要求所有应用程序服务器遵守的特定行为,因此这可能取决于您选择的应用程序服务器及其配置.

猜你在找的JVM相关文章