美文网首页
设计模式之单例模式(Singleton)

设计模式之单例模式(Singleton)

作者: cvmars | 来源:发表于2017-03-13 23:29 被阅读16次

单例模式(Singleton) 是一种平时常见的设计模式,在Java应用中,单里模式保证在JVM中,只存在一个实例,这样的设计模式有几个好处:

1、对于某些类创建比较频繁,切内存占用较大的对象,可以节省一大笔的系统开销
2、 节省了new 的操作,降低了系统内存的使用频率,减少垃圾回收器(GC)的压力
3、如果一个军队出现多个将军,那么这个军队会乱成一团,对于程序也是一样的,只有使用单例模式,才能保证管理者独立的控制整个流程。

/**
 *饿汉式,一开始就加载
 **/
public class Singleton {
    private static Singleton ourInstance = new Singleton();

    public static Singleton getInstance() {
        return ourInstance;
    }

    private Singleton() {
    }
  /* 如果该对象被用于序列化,可以保证对象在序列化前后保持一致 */  
    public Object readResolve() {  
        return getInstance();  
    }  
}

/**
 *懒汉式,延迟加载,用到时才加载,节约资源
 */
public class SingletonTest {  
  
    private static SingletonTest instance = null;  
  
    private SingletonTest() {  
    }  
  
    private static synchronized void syncInit() {  
        if (instance == null) {  
            instance = new SingletonTest();  
        }  
    }  
  
    public static SingletonTest getInstance() {  
        if (instance == null) {  
            syncInit();  
        }  
        return instance;  
    }  
}  

相关文章

网友评论

      本文标题:设计模式之单例模式(Singleton)

      本文链接:https://www.haomeiwen.com/subject/mctcnttx.html