码迷,mamicode.com
首页 > 编程语言 > 详细

Java设计模式之单例设计模式(Singleton)

时间:2017-09-07 00:50:01      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:垃圾   tps   有一个   github   连接池   自己   单例设计模式   连接   href   

单例设计模式

  单例模式在日常开发中用的也比较多,顾名思义就是一个类的对象在整个系统中只能有一个

  优点:

    1、单例模式会阻止其他对象实例化其自己的单例对象副本,从而确保所有对象都访问唯一实例

    2、由于在整个系统中指存在一个实例对象,避免了频繁的创建和销毁对象,因此可以节约系统资源

    3、避免了对共享资源的多重占用

    4、自行创建这个单例对象,避免使用时再去创建

 

   缺点:

    1、单例模式没有抽象层,所以扩展性比较差

    2、不适用于变化的对象,如果同一类型的对象需要在不同的场景下使用,单例就会引起数据的错误

    3、滥用单例模式将带来一些负面问题,如为了节省系统资源将数据库的连接池对象设计为单例模式,可能会导致共享连接池对象的程序过多而出现连接池溢出;如果实例化的对象长期不被利用,

     系统会认为是垃圾而被GC回收从而导致对象状态的丢失

  懒汉 模式:

      技术分享

 

  饿汉模式:

       技术分享

 

  双重锁模式:

      技术分享

 

 

总结:

  1、懒汉模式特点:线程不安全、加载类时比较快、运行时获取对象的速度比较慢、

  2、饿汉模式特点:线程安全、加载类时比较慢,运行时获取对象比较快

  3、双重锁模式:线程安全、加载类时比较快、运行时获取对象的速度比较慢

 

代码地址

 

    

    

Java设计模式之单例设计模式(Singleton)

标签:垃圾   tps   有一个   github   连接池   自己   单例设计模式   连接   href   

原文地址:http://www.cnblogs.com/gulang-jx/p/7487754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!