问题:如果只是加载本类,而不是要调用getInstance(),甚至永远没有调用,则会造成资源浪费!
package com.ahzy;
/**
-
单例饿汉式
-
@author 晓宇码匠
-
频繁的调用这个实例的时候用饿汉式
*/
public class SingletonDome01 {
//类初始化时加载这个对象,没有延迟加载的优势,加载类时,是天然的线程安全
private static SingletonDome01 instance = new SingletonDome01();
//私有化构造器
private SingletonDome01(){
}
//方法没有同步,调用效率高
public static SingletonDome01 getInstance() {
return instance;
}
}
=============================================================================
要点: lazy load! 延迟加载, 懒加载! 真正用的时候才加载!
问题:资源利用率高了。但是,每次调用getInstance()方法都要同步,并发效率较低。
package com.ahzy;
/**
-
单例懒汉式
-
@author 晓宇码匠
-
资源利用率高。但是