更改对不同类加载器加载的单例类的影响
Posted
技术标签:
【中文标题】更改对不同类加载器加载的单例类的影响【英文标题】:Impact of changes on singleton class loaded by different classloaders 【发布时间】:2014-05-03 19:28:53 【问题描述】:如果我在不同的类加载器上有多个单例类实例 如果我在任何这些情况下对参考变量进行了修改。
例如,如果我向 Hashmap 添加/删除元素
更改/修改是否也会影响其他类加载器上的实例?
【问题讨论】:
【参考方案1】:单例是每个类加载器。因此更改不会影响使用其他类加载器加载的其他实例。
有几个很好的参考:
on Singleton and different classloaders on Static members and different classloaders【讨论】:
【参考方案2】:您的“单例”是每个 JVM 一个实例。
这是一篇很好的文章,讨论了类加载器、不同类加载器之间的关系以及与 JVM 的关系:
http://javapapers.com/core-java/java-class-loader/
【讨论】:
谢谢!期待你的答复。我了解类加载器规则的概念以及不同类加载器之间的关系。 Singleton 每个类加载器只有一个实例,jvm 可以有多个类加载器,对吗?我的问题是,如果我对一个实例进行任何更改,是否会影响其他类加载器中的其他实例。 另外两个参考:Singleton class with several different classloaders 和 When is a Singleton not a Singleton?以上是关于更改对不同类加载器加载的单例类的影响的主要内容,如果未能解决你的问题,请参考以下文章