java设计模式--单例模式

1.概念:运行时只有一个实例(对象)。

2.分类:

2.1懒汉式:在用的时候进行创建。

(多线程下的懒汉式:注意点:1.构造函数私有;2.多线程情况下,对象为空的时候进行创建)

 1 class Dog(){
 2      private static Dog instance;
 3      //构造函数私有
 4      private Dog(){
 5      }
 6      public static Dog getInstance (){
 7           if(instance==null){
 8           //同步锁,在多线程下当instance为空时创建
 9               syschronized(Dog.class){
10               if(instance==null){
11                  instance=new Dog();
12               }
13             }
14           }
15           return instance;
16      }
17 }

2.2饿汉式:不管用不用先实例化,其构造函数为私有;

class Dog(){
     private static Dog instance =new Dog();
     //构造函数私有
     private Dog(){
     }
     public static Dog getInstance (){
          if(instance==null){
              syschronized(Dog.class){
              if(instance==null){
                 instance=new Dog();
              }
            }
          }
          return instance;
     }
  }

 

posted @ 2018-09-01 09:51  talenter  阅读(161)  评论(0编辑  收藏  举报