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