懒汉式单例模式
在第一次使用该实例的时候才会创建。
package com.cocoa.singletonDemo;/*** 懒汉式 单例模式*/
public class Singleton {// 构造方法私有化private Singleton(){}// 单例实例private static Singleton singleton = null;public static Singleton getInstance(){if (singleton == null){synchronized (Singleton.class){if (singleton == null){singleton = new Singleton();}}}return singleton;}
}
饿汉式单例模式
在类加载的时候就将实例创建出来了。
package com.cocoa.singletonDemo;/*** 饿汉式 单例模式* 在 类初始化 的时候就 自行实例化 了*/
public class Singleton1 {// 构造方法私有化private Singleton1(){}// 单例实例private static Singleton1 singleton = new Singleton1();public static Singleton1 getInstance(){return singleton;}
}