可能重复:
用其他方式破解单例
谁能告诉我什么时候 aSingleton
不能作为 a 工作Singleton
?
作者Joshua Fox在Sun网站上发表了一篇非常好的文章。请通过这个。
以下是其中一些您的Singleton
行为不正常时的情况。
如果给定的类由多个类加载器加载,则单例(在 Java 领域)将无法作为单例工作。由于单个类可以在多个类加载器中存在(或可以加载),因此对于给定的 JVM 实例,很有可能拥有“假定”单例类的“多个”实例。但这是一个非常罕见的情况,并且不会发生很多。:)
如果您能够创建多个类的实例,那么它不会通过使用克隆、反序列化等方式保持单例。