你的位置:首页 > 软件开发 > ASP.net > Java中的GOF23(23中设计模式)

Java中的GOF23(23中设计模式)

发布时间:2016-08-17 01:00:16
Java中的GOF23(23中设计模式)--------- 单例模式(Singleton)    在Java这这门语言里面,它的优点在于它本身的可移植性上面,而要做到可移植的话,本身就需要一个中介作为翻译工作,以达到本地和Java的统一,但是就这点而言就相当的消耗资源,所以就Ja ...

Java中的GOF23(23中设计模式)--------- 单例模式(Singleton)

    在Java这这门语言里面,它的优点在于它本身的可移植性上面,而要做到可移植的话,本身就需要一个中介作为翻译工作,以达到本地和Java的统一,但是就这点而言就相当的消耗资源,所以就Java程序员需要不断的去优化自己的代码。今天所研究的单例模式就是在这样的条件下产生的,

    所谓单例模式,就是只有一个实例,在堆里面只有一个。假如我们的实例,就需要一个,但是会多次用到,这样的话就会出现很尴尬的问题。

    比如:

    1. Windows的TaskManager(任务管理器)就是很典型的只需要一个实例,
    2. Windows的Recycle(回收站)在系统中,回收站只维护一个实例
    3. 在我们的项目里面,会常常使用到读取配置文件的类,
    4. 网站的计数器,一般也采用单例模式,否则难以实现同步
    5. 数据库连接池设计一般也采用单例模式,因为数据库连接是一种数据库资源
    6. 操作系统的文件系统,因为一个操作系统只能有一个文件系统
    7. Application 也是单例模式
    8. Spring中,每个Bean默认就是单例的,这样做的优点是Spring容器可以管理
    9. servlet编程中,每个Servlet也是单例的
    10. 在Spring MVC/struts 1 中,所使用到的控制对象也是单例的

 

    在上述里面我们了解到,单例模式在我们项目中,几乎是天天出现,所以在这里,我们仔细研究一下,这种设计模式的怎么实现最好(说到实现,它的实现我们大多数人只知道有两种,而还有三种模式知道的人不是很多,以及利用反序列化,反射漏洞去强制解除单例)

 

  •   饿汉模式
    •   使用static属性来保持对象的单例模式,但是必须在类加载的时候加载,所以没有延迟实例化的性能

      原标题:Java中的GOF23(23中设计模式)

      关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。