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

     1 public class Singleton
     2 {
     3          private static Singleton singleton = new Singleton();//类加载了便初始化该单例对象
     4                                                                                                                                    //之所以称之为饿汉式,因为他太急了
     5          private Singleton()
     6          {
     7          }
     8          public static Singleton getInstance()
     9          {
    10                    return singleton;
    11          }
    12 }
     1 public class Singleton
     2 {
     3          private static Singleton singleton;
     4  
     5          private Singleton()
     6          {
     7          }
     8          //注意这里synchronized,保证了线程安全,意思就是每次只有一个线程能够访问该方法
     9          public static synchronized Singleton getInstance()
    10          {
    11                    if(singleton == null)
    12                    {//当singleton要用的时候才初始化,加判断避免重复初始化,保证只new了一次
    13                             singleton= new Singleton();
    14                    }
    15                    return singleton;
    16          }
    17 }
     1 public class Singleton
     2 {
     3          private static Singleton instance = null;
     4  
     5          private Singleton()
     6          {
     7                    //dosomething
     8          }
     9  
    10          public static Singleton getInstance()
    11          {
    12                    if(instance == null)
    13                    {
    14                             synchronized(Singleton.class)//可以思考一下,为什么这样提高效率
    15                             {
    16                                      if(null == instance)
    17                                      {
    18                                                instance= new Singleton();
    19                                      }
    20                             }
    21                    }
    22                    return instance;
    23          }
    24 }
  • 相关阅读:
    __get__,__set__,__delete__
    __getattr__,__setattr__,__delattr__
    json ,pickle
    @property
    类的封装
    super
    继承顺序
    派生组合示例
    类的派生,组合
    class 属性查找
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3970842.html
Copyright © 2011-2022 走看看