通常,是的。大多数容器将为每个Web应用程序提供单独的类加载器。当多个应用程序使用该类时,这将导致该类被多次加载,从而导致该静态变量的多个实例。
陈述Java语言规范以供参考:
在运行时,具有相同二进制名称的几种引用类型可以由不同的类加载器同时加载。这些类型可能代表相同的类型声明,也可能不代表相同的类型声明。即使两个这样的类型确实表示相同的类型声明,它们也被认为是不同的。
通过推论,将存在多个静态变量实例,除非这些类由父类加载器仅加载一次,而从未由其他任何类加载器加载到其他地方。
Web应用程序中Java静态成员的范围
通常,是的。大多数容器将为每个Web应用程序提供单独的类加载器。当多个应用程序使用该类时,这将导致该类被多次加载,从而导致该静态变量的多个实例。
陈述Java语言规范以供参考:
在运行时,具有相同二进制名称的几种引用类型可以由不同的类加载器同时加载。这些类型可能代表相同的类型声明,也可能不代表相同的类型声明。即使两个这样的类型确实表示相同的类型声明,它们也被认为是不同的。
通过推论,将存在多个静态变量实例,除非这些类由父类加载器仅加载一次,而从未由其他任何类加载器加载到其他地方。