当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

单实例实践

发表于: 2014-10-23   作者:跑龙套_az   来源:转载   浏览:
摘要:    1、内部类 public class Singleton { private static class SingletonHolder { public static Singleton singleton = new Singleton(); } public Singleton getRes

 

 1、内部类

public class Singleton {
      private static class SingletonHolder {
             public static Singleton singleton = new Singleton();
      } 
       public Singleton getResource() {
              return SingletonHolder.singleton;
       }

        private Singleton() {};
}

 

 

 2、双重锁

 

public class Singleton() {
      private static volatile Singleton singleton = null;
      private Singleton() {};

      public static Singleton getSingleton() {
            if( singleton != null ) {
                   Synchronized(Singleton.class) {
                         if( singleton != null ) {
                                singleton = new Singleton();
                         }
                   }
            }
           return singleton;
      }
}

 

 

 3、非懒加载

public class Singleton() {
      private static Singleton singleton = new Singleton();
      private Singleton() {};

      public static Singleton getSingleton() {
            return singleton
      }
}

  

 4、枚举

 

单实例实践

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号