createdtime 20210827
updatedtime 20210827
author venki.chen
参考链接1 参考链接2 参考链接3
饿汉式
所谓饿汉式,就是饿了太久了,上来就开始吃。这种方式在这个类加载的时候就创建了实例,方便我们可以在其他地方直接使用,但是缺点就是不管有没有用到这个类的方法,他都会创建,会造成不必要的开销。
public class Singleton{
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}
饱汉式
显而易见,饱汉式与饿汉式刚好对立,一个饿太久了,上来就吃,一个没吃就吃、吃饱了就不吃了。在需要获取实例的时候才回去创建新的对象,在我们使用频率比较少的时候以及创建一次实例需要消耗比较大的资源时,推荐使用这种方式。
public class Singleton{
private static Singleton instance = null;
private Singleton(){}
public static Singleton getInstance(){
if(null == instance){
instance = new Singleton();
}
return instance;
}
}
|