代理模式-单例模式

发布时间:2023-06-20 09:29:26

确保一个类只有一个例子,并提供一个访问它的全球访问点。

解决方案:频繁创建和销毁全局使用的类别。

关键代码:构造函数是私有的。

饿汉风格:类加载初始化,浪费内存。

Main

public class SingletonPatternDemo {   public static void main(String[] args) {       ////非法构造函数      ///编译错误:构造函数 SingleObject() 是不可见的      //SingleObject object = new SingleObject();       ////获得唯一可用的对象      SingleObject object = SingleObject.getInstance();    }}

懒汉模式,线程不安全

public class Singleton {      private static Singleton instance;      private Singleton (){}        public static Singleton getInstance() {      if (instance == null) {          instance = new Singleton();      }      return instance;      }  }

懒汉风格,线程安全

public class Singleton {      private static Singleton instance;      private Singleton (){}      public static synchronized Singleton getInstance() {      if (instance == null) {          instance = new Singleton();      }      return instance;      }  }

饿汉式,线程安全

public class Singleton {      private static Singleton instance = new Singleton();      private Singleton (){}      public static Singleton getInstance() {      return instance;      }  }

上一篇 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
下一篇 数据库是不是需要信仰?

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题