设计模式-JAVA-单例模式
单例模式下的类,在全局中仅生成一个实例对象。
懒汉模式-使用时创建对象,需用添加同步标识。
饿汉模式-类加载时创建对象,不需要加同步标识。
package cn.com.cj.designMode.createMode.single;
/**
* 单例模式
*/
public class Main {
public static void main(String[] args) {
//懒汉模式单例
ResourceA resourceA = ResourceA.createResource();
//饿汉模式单例
ResourceB resourceB = ResourceB.createResourceB();
}
}
package cn.com.cj.designMode.createMode.single;
/**
* 单例类-懒汉模式
*/
public class ResourceA {
//静态的私有化自身对象
private static ResourceA resource = null;
//私有化构造方法
private ResourceA() {
System.out.println("Resource被创建");
}
/**
* 静态的公共的同步的方法 用于返回自身对象
* @return
*/
public static synchronized ResourceA createResource() {
System.out.println("createResource被调用");
if( null == resource ) {
resource = new ResourceA();
}
return resource;
}
}
package cn.com.cj.designMode.createMode.single;
/**
* 单例类-饿汉模式
*/
public class ResourceB {
//静态私有化并且初始化单例类对象
private static ResourceB resourceB = new ResourceB();
//私有化构造方法
private ResourceB(){
System.out.println("ResourceB被初始化");
}
/**
* 静态公共方法
* @return
*/
public static ResourceB createResourceB() {
System.out.println("createResourceB被调用");
return resourceB;
}
}