单实例 Singleton

    package cn.javass.spring.chapter3.bean;  
    public class Singleton {  
        //1.私有化构造器  
        private Singleton() {}  
        //2.单例缓存者,惰性初始化,第一次使用时初始化  
        private static class InstanceHolder {  
            private static final Singleton INSTANCE = new Singleton();  
        }  
        //3.提供全局访问点  
        public static Singleton getInstance() {  
            return InstanceHolder.INSTANCE;  
        }  
        //4.提供一个计数器来验证一个ClassLoader一个实例  
        private int counter=0;  
    }  

以上定义个了个单例类,首先要私有化类构造器;

其次使用InstanceHolder静态内部类持有单例对象,这样可以得到惰性初始化好处;

最后提供全局访问点getInstance,使得需要该单例实例的对象能获取到;

我们在此还提供了一个counter计数器来验证一个ClassLoader一个实例。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值