疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java基础单例模式


 

   

  单例模式:保证整个项目运作期间某一个对象有且只有一个。

  主要有:1,饿汉式;2,懒汉式。

  1 class Singleton1//饿汉式

  2 {

  3 private Singleton1(){}//先把构造方法私有化,不允许外界创建对象

  4 private static final Singleton1 instance=new Singleton1();

  5 /*饿汉式就是声明的时候就赋值了

  6 缺点为加载的时候就需要开辟空间,需要损耗性能,加载慢。

  7 */

  8 public static Singleton1 getInstance()

  9 {

  10 return instance;

  11 }

  12 }

  13 class Singleton2//懒汉式

  14 {

  15 private Singleton2(){}

  16 private static Singleton2 instance;//=null

  17 /*懒汉式就是声明的时候没有赋值

  18 缺点为线程不安全

  19 */

  20 public static Singleton2 getInstance()

  21 {

  22 if(instance==null)

  23 instance=new Singleton2();

  24 return instance;

  25 }

  26 }

  27 class SingletonDemo

  28 {

  29 public static void main(String[] args)

  30 {

  31 Singleton1 s1=Singleton1.getInstance();

  32 Singleton1 s2=Singleton1.getInstance();

  33 System.out.println(s1==s2);

  34

  35 Singleton2 s3=Singleton2.getInstance();

  36 Singleton2 s4=Singleton2.getInstance();

  37 System.out.println(s3==s4);

  38 }

  39 }