设计模式学习(创建型模式)—单例模式(Singleton)

单例模式(Singleton) 

作用:用于改善全局变量和命名空间的冲突,可以说是一种改良了的全局变量。这种一个类只有一个实例,且提供一个访问全局点的方式,更加灵活的保证了实例的创建和访问约束。系统中只有一个实例,因此构造方法应该为私有 饿汉式:类加载时直接创建静态实例 懒汉式:第一次需要时才创建一个实例,那么newInstance方法要加同步 饿汉式比懒汉式要好,尽管资源利用率要差。但是不用同步。

[java]  view plain copy
  1. public class TestSingleton {  
  2.   
  3. public static void main(String[] args) {  
  4.   //单例模式获取对象
  5.   ClassA ca=ClassA.newInstance();//饿汉式  
  6.   ClassB cb=ClassB.newInstance();//懒汉式  
  7. }  
  8.   
  9. }  
  10.   
  11. class ClassA{ //饿汉式  
  12.   
  13. private static ClassA ca=new ClassA();  
  14.   
  15. public static ClassA newInstance(){  
  16.   
  17. return ca;  
  18.   
  19. }  
  20.   
  21. }  
  22.   
  23. class ClassB{ //懒汉式  
  24.   
  25. private static ClassB cb=null;  
  26.   
  27. public static synchronized ClassB newInstance(){  
  28.   
  29. if (cb==null) {//第一次获取就会创建,下次获取就不会再创建新的cb
  30. cb=new ClassB();  
  31. }
  32.   
  33. return cb;  
  34.   
  35. }  
  36.   
  37. }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值