java - 当同一个单例类打包在两个war文件中时,可能没有实例?

标签 java singleton

同一个单例类打包在两个war文件中(并且两个war文件都打包在
一只耳朵文件)

Cas1

我的理解
根据我对单例类的理解,每个 JVM 将有一个实例。所以根据上面的这个答案应该是一个实例
因为ear文件将有一个jvm实例。

案例2

但是在不同的站点上(一个在 http://www.coderanch.com/t/520891/java/java/Singleton-Diff-WAR-files-same ),人们还提到了单例生产
类加载器的单个实例。他们说对于两个 war 文件将有两个类加载器。所以会有两个单例实例。

正确答案是什么?

如果第二种情况是正确的,我们可以在下面说

1)对于单例类,每个类加载器将有一个实例(这里我指的是包含引导加载程序的 jvm 实例中的类加载器租用,
应用程序类加载器)不适用于 jvm。

2)对于打包在同一个ear文件中的两个war文件,同一个jvm实例下会有两个classloaderhirerchies

发表于 http://forums.oracle.com/forums/thread.jspa?threadID=2253940&tstart=0但不是具体的答案

最佳答案

1) 如果您的类在每个 WAR 中,那么每个 webapp 都会有一个实例(类加载器层次结构)。

2) 是的。

关于java - 当同一个单例类打包在两个war文件中时,可能没有实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722927/

相关文章:

c++ - C++ 单例类实例的堆/动态与静态内存分配

java - 单例和静态类案例研究

java - 禁用 IntelliJ 检查 : warning "if (a == false) change to if (!a)". 我看不到跳转到其配置的链接或代码

c++ - 在 JS 中调用 C++ 单例对象的方法会产生 "TypeError: Property ' foo' of object [object Object] is not a function”

java - Matlab、PHP 和 Java

java - 请帮助解决这个空指针异常。该项目涉及struts2、jsp、java和struts.xml

java - 带参数的单例类

c++ - 以内部模板化 typedef 作为参数的模板化延迟初始化单例

java - 如何调试运行但不停止的程序?

java - 在 spring boot actuator 健康检查 API 中启用日志记录