单例模式 恶汉懒汉比较

单例模式 创建一个实例,向系统提供这个实例。分为懒汉式 恶汉式。

一.懒汉式 是调用的时候再用

//

Public  class Single{
private single(){}

Private static final Sigle  sigle=null;

Public getinstance(){

sigle= new Sigle()

}

}

//  双重锁  保证线程安全

 

Public class  Single{

private single(){

}

Private static final  fg=null;

Public getinstance(){

If(fg==null)

Syschornized(true){

If(fg==null)

fg=new FG();

}

}

//静态内部类   

Public class Single{

   Private  static class inter{
private static final Sigle INSTANCE= new Sigle();

}

Public  sigle  getInsatance(){
return  inter.INSTANCE;

}

}

 

恶汉式  在初始化的时候  就已经建立

Public   class  Sigle{
private sigle(){}

     Private static final Sigle  sigele =new Sigle();

Public  sigle  getInsatance(){
return  sigle;

}

}

恶汉式是线程安全的 ,懒汉式枷锁保证线程安全;             

恶汉式在 内存需要较小,初始化就用到单例的时候使用,

懒汉模式可以延时加载,用于建立单例消耗较大的情况,但是懒汉模式需要考虑到线程安全问题。虽然我们可以双重判断锁的方式,一定程度保证了性能有保证了线程安全。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值