导航

饿汉式 和 懒汉式 的比较

Posted on 2019-08-04 18:35  wydrr  阅读(97)  评论(0)    收藏  举报

//饿汉式
class Bank{

//1.私有化类的构造器
private Bank(){}

//2.在类的内部创建对象
private static Bank bank = new Bank();

//3.通过公共的方法,获取Bank实例
public static Bank getInstance(){
return bank;
}
}

 

//懒汉式
class Application{

//1.私有化类的构造器
private Application(){}

//2.声明当前类的对象,使用private static修饰
private static Application app = null;

//3.通过方法获取当前类的实例
public static Application getInstance(){

if(app == null){

app = new Application();

}
return app;

}

}

区别:关于对象创建时间的不同
* 比较:饿汉式:不存在线程安全问题(好处)
* 懒汉式:延迟对象的创建。(好处)
* 存在线程安全问题(坏处)

推荐使用饿汉式,但是要加上synchronize不然会导致对象的访问不是线性安全的;