剑指offer 面试题1 实现Singleton单例设计模式

题目描述:设计一个类,只能生成该类的一个实例。

思路分析:考察单例设计模式的运用,单例设计模式的运用是需要考察多线程情况下的安全同步机制,内存的使用效率。

推荐方法1;使用内部静态构造方法

初始实例 S直接构造,在类加载时只进行一次初始化,利用静态方法返回该实例,避免了同步加锁。

代码如下:

public void class Singleton{
   private Singleton(){
   }
   private static Singletin S=new Singleton();
  public static Singleton getInstance
{   return S;
}
}

推荐方法2:实现按需创建实例

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

可以参考   我的博客   https://blog.csdn.net/qauchangqingwei/article/details/80716816

猜你喜欢

转载自blog.csdn.net/qauchangqingwei/article/details/80796843