不完全确定如何表达这个问题。在 java 中,如果您有一个静态实例 var 并且所属类位于 tomcat/classes 或 tomcat/lib 中,以便许多不同的 Web 应用程序(tomcat 类加载器的子级)可以使用它,则在一个 Web 应用程序中更改静态 var 会影响其他。
Scala 伴生对象也是如此吗?据我了解,Scala 单例对象是编译器创建的由静态变量引用的单例 Java 类。所以答案是肯定的。如果 web 应用 A 创建了一个新的 scala Foo 并且 web 应用 B 创建了一个新的 scala Foo 并且 Foo 类来自一个父类加载器,那么每个 web 应用都会有它自己的 Foo 实例,但实际上只有一个 Foo 的伴生对象的实例。
我在这里错过了什么吗?
提前感谢您的任何见解。