java——单例模式

来源:互联网 发布:科技有限公司 软件开发 编辑:程序博客网 时间:2024/05/09 09:26
package hello;/** * * @author mrlonely * *//*public class Singleton { * 显示的构造函数: * 使用private,避免类在外部被实例化; * 在同一个虚拟机范围内,Singleton的唯一实例只能通过getInstance()方法访问 *??? 事实上,通过Java反射机制是能够实例化构造方法为private的类的,基本上所有的Java单例实现失效 private Singleton(){}//类变量private static Singleton single = null;//静态工厂方法://1:线程不安全public static Singleton getInstance(){if(null == single){single = new Singleton();}return single;}//2:在getInstance方法上加同步public static synchronized Singleton getInstance(){if(null == single){single = new Singleton();}return single;}//3:双重检查锁定public static Singleton getInstance(){if(null == single){synchronized(Singleton.class){if(null == single){single = new Singleton();}}}return single;}}*///-----------------------饥饿式单例/*public class Singleton{private Singleton(){}//类初始化时,自行实例化//创建类的同时,就创建了一个静态对象供类使用,所以天生是线程安全的private static final Singleton single = new Singleton();public static Singleton getInstance(){return single;}}*/
0 0
原创粉丝点击