首页 > 代码库 > 单例设计模式

单例设计模式

1 类的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例。

package p1;//饿汉设计模式//由于饿,开始就创建实例public class TestSingleton1 {    public static void main(String[] args) {        Singletion s1 = Singletion.getSingletion();        Singletion s2 = Singletion.getSingletion();        System.out.println(s1 == s2);    }}class Singletion {    // 1.私有化构造器,使外部类不能调用此构造器    private Singletion() {    }    // 2.在该类中创建一个类的实例,私有化该对象,通过公共方法调用    private static Singletion instance = new Singletion();    // 3.定义一个公共的static方法    public static Singletion getSingletion() {        return instance;    }}
package p1;//懒汉模式: 可能存在线程安全问题//由于懒,先不创建实例,等比较之后,再创建public class TestSingleton2 {    public static void main(String[] args) {        Singletion s1 = Singletion.getSingletion();        Singletion s2 = Singletion.getSingletion();        System.out.println(s1 == s2);    }}class Singleton {    private Singleton() {    }    private static Singleton instance = null;    public static Singleton getSingleton() {        if (instance == null) {            instance = new Singleton();        }        return instance;    }}

单例设计模式