当同一个单例类打包在两个war文件中(并且两个war文件都打包在一个war文件中),可以有多少个实例一个耳朵文件)
Cas1
MyUnderstanding根据我对单例类的理解,每个JVM将有一个实例。所以根据这个答案,上面应该是一个例子因为ear文件将有一个JVM实例。
病例2
但是在不同的网站上(一个在http://www.coderanch.com/t/520891/java/java/Singleton-Diff-WAR-files-same),人们也提到了单例产品类装入器的单个实例。他们说对于两个war文件会有两个类加载器。所以会有两个singleton实例
正确答案是什么?
如果第二个情况是正确的,我们是否可以说下面的语句
1)对于单例类,每个类加载器将有一个实例(这里我指的是jvm实例中的类加载器层次结构,包括引导加载器,
2)对于打包在同一个ear文件中的两个war文件,在同一个jvm实例下将有两个类加载器层次
张贴在http://forums.oracle.com/forums/thread.jspa?threadID=2253940&tstart=0,但没有具体的答案
1)如果你的类在每个WAR中,那么每个webapp将有一个实例(类加载器层次结构)。
2)是的。