zoukankan      html  css  js  c++  java
  • 7.JAVA基础复习——JAVA中的设计模式单例模式

    设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

    总体来说设计模式分为23种三大类:

      创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

      结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

      行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    单例模式:类在内存中只有一个对象实例。

      单例模式有两种实现方式:

        饿汉式:类加载时创建对象

        懒汉式:当需要实例对象时才创建对象(延迟加载)

    代码:

     1 public class Single {
     2     /*单例模式:类在内存中只有一个对象实例。有两种方式实现
     3      *实现细节:
     4      *    1.不让创建对象由我们来创建对象(私有化构造:不可创建对象。私有化实例:不可访问此对象。) 
     5      *    2.定义一个方法用来获取实例对象。
     6      *    4.静态变量会在类加载时执行所以堆内存中存在Single()对象。
     7      *    5.程序会先从栈中找如果没有去堆中寻找对象。
     8      *    6.堆内存中有此对象所以会返回此对象。
     9      *    7.第二次调用时同理会返回此对象所以指向的是同一个对象    
    10      */
    11     //单例模式饿汉式:类加载时就创建实例对象
    12     private static Single s = new Single();
    13     public static Single getSingle(){
    14         return s;
    15     }
    16     //私有化构造不让创建对象
    17     private Single(){}
    18     
    19     /*单例模式:类在内存中只有一个对象实例。
    20      *实现细节:
    21      *    1.不让别创建对象由我们来创建对象(私有化构造:不可创建对象。私有化实例:不可访问此对象。) 
    22      *    2.定义一个方法用来获取实例对象。
    23      *    4.静态变量会在类加载时执行此处为空没由创建实例对象
    24      *    5.程序会先从栈中找如果没有去堆中寻找对象。
    25      *    6.堆内存中没有此对象所以会先创建实例对象然后返回
    26      *    7.当第二次调用时因为堆内存中有了此对象所以会直接返回所以都是指向同一个实例对象。    
    27      */
    28     //单例模式懒汉式:类加载时不创建对象,用到实例时才加载。
    29     private static Single s = null;
    30     public static Single getSingle(){
    31         if(s==null){
    32             s = new Single();
    33         }
    34         return s;
    35     }
    36 }
  • 相关阅读:
    Mozilla发补丁修复火狐5个安全漏洞 狼人:
    金山戴尔达成战略合作协议 春节后宣布 狼人:
    警惕:“Thank you from Google!”信件夹毒 狼人:
    瑞星:“007小游戏论坛”、“2144小游戏”等网站被挂马 狼人:
    公共云中能否遵守PCI标准? 狼人:
    婚恋网站遭信任危机 实名制破解之策 狼人:
    互联网进病毒高发期 黑客瞄准网络春晚 狼人:
    情人节礼物:毒一无二的维多利亚内衣 狼人:
    工信部通知要求加强域名系统安全保障工作 狼人:
    媒体称乔布斯歪曲事实抨击Flash技术 狼人:
  • 原文地址:https://www.cnblogs.com/hcl22/p/6386251.html
Copyright © 2011-2022 走看看