标签:序列化 zed bsp 单例 种类型 最简 自己 pat mem
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意:
1 public class Man { 2 //DCL单例模式 3 private static Man man = null; 4 5 private Man() { 6 //限制实例化 7 } 8 9 public static Man getInstance(){ 10 if (null == man){ 11 synchronized (man){ 12 if (null == man){ 13 //DoubleCheck 双重检查 14 man = new Man(); 15 } 16 } 17 } 18 return man; 19 } 20 }
1 public enum Singleton { 2 //实现单例模式最简单、最佳的方法。自动支持序列化机制 3 INSTANCE; 4 5 public void noNameMethod(){ 6 //whatever 7 } 8 9 public static void main(String[] args) { 10 Singleton instance = Singleton.INSTANCE; 11 instance.noNameMethod(); 12 } 13 14 }
1 public class Singleton { 2 3 //饿汉式,线程安全。可能会产生垃圾对象 4 private static Singleton singleton = new Singleton(); 5 6 private Singleton(){} 7 8 public static Singleton getInstance(){ 9 return singleton; 10 } 11 12 }
1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 5 public static Singleton getInstance() { 6 if (instance == null) { 7 instance = new Singleton(); 8 } 9 return instance; 10 } 11 }
1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 public static synchronized Singleton getInstance() { 5 if (instance == null) { 6 instance = new Singleton(); 7 } 8 return instance; 9 } 10 }
标签:序列化 zed bsp 单例 种类型 最简 自己 pat mem
原文地址:https://www.cnblogs.com/dzyls/p/9484303.html