zoukankan      html  css  js  c++  java
  • java单例模式

     1 单例模式有一下特点:
     2 
     3 1、单例类只能有一个实例。
     4 2、单例类必须自己自己创建自己的唯一实例。
     5 3、单例类必须给所有其他对象提供这一实例。
     6 
     7 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头
     8 
     9 单例模式的设计:一个类在内存中只存在一个对象。
    10 
    11 方法:
    12 
    13 1,为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象
    14 
    15 2,为了让其他程序访问到该类对象,在该类中自定义一个对象
    16 
    17 3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方法
    18 
    19 代码体现:www.111cn.net
    20 
    21 1,将构造函数私有化
    22 
    23 2,在本类中创建一个本类对象
    24 
    25 3,提供一个方法可以获取到该对象
    26 
    27 方法一:先初始化
    28 
    29  代码如下 复制代码 
    30  
    31 
    32 class Single{
    33 
    34 private Single(){}
    35 
    36 private static Single s = new Single();
    37 
    38 public static Single getInstance(){
    39 
    40 return s;
    41 
    42 }
    43 
    44 }
    45  
    46 
    47 方法二:对象被调用时才初始化
    48 
    49  代码如下 复制代码 
    50 class Single{
    51 
    52 private static Single s=null;
    53 
    54 private Single(){}
    55 
    56 public static Single getinstance(){
    57 
    58 if(s==null){
    59 
    60 s=new Single();
    61 
    62 }
    63 
    64 return s;
    65 
    66 }
    67 
    68 }
    69  
    70 
    71 //调用
    72 
    73 class SingleDemo{
    74 
    75 public static void main(String[] args){
    76 
    77 Single  s1= Single.getInstance();
    78 
    79 }
    80 
    81 }
  • 相关阅读:
    android内存知识普及抱怨墨迹内存大的同学看过来
    ICS 截屏(Screenshot)代码流程小结
    ICS Overlay主要流程
    Android中的sp和wp指针
    Android Display buffer_handle_t的定义
    adb shell input 命令
    百度地图API之MyLocationOverlay的使用(Android)
    由Android系统智能手机解锁图案引出的排列组合问题
    <script runat=server>、<%%>和<%#%>前台是服务器方法
    Oracle 日期运算 集合
  • 原文地址:https://www.cnblogs.com/double405/p/5116413.html
Copyright © 2011-2022 走看看