Java中如何破坏单例模式呢?
下文笔者讲述java中破坏单例模式的方法及示例分享,如下所示
破坏单例模式的实现思路
我们只需使用反射的方式 即可破坏单例模式,使其出现两个单例对象例:破坏单例模式的示例
package com.java265.a; public class Singleton { private static class SingletonHolder { private static final Singleton INSTANCE = new Singleton(); } private Singleton() { } public static Singleton getInstance() { return SingletonHolder.INSTANCE; } } 测试类: package com.java265.a; import java.lang.reflect.Constructor; public class Demo { public static void main(String[] args) { Class<?> singletonClass = Singleton.class; try { Constructor c = singletonClass.getDeclaredConstructor(null); c.setAccessible(true); Object singleton1 = c.newInstance(); Object singleton2 = c.newInstance(); System.out.println(singleton1 == singleton2); } catch (Throwable e) { e.printStackTrace(); } } } ----运行以上代码,将输出以下信息----- false
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。