单例模式中,饿汉式和懒汉式的区别?为什么推荐说 用饿汉模式?

饿汉式:
                public   class   Singleton{
                        private   static   Singleton   singleton   =   new   Singleton   ();
                        private   Singleton   (){}
                        public   Singleton   getInstance(){return   singletion;}
              }  

懒汉式:
               public   class   Singleton{
                        private   static   Singleton   singleton   =   null;
                        public   static   synchronized   Singleton   getInstance(){
                                  if(singleton==null){
                                          singleton   =   new   Singleton();
                                  }
                                return   singleton;
                        }
              }  

         

                  饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变
                   懒汉式优点是延时加载、 是在需要的时候才创建对象。缺点是应该用同步。如果在创建实例对象时不                             加上synchronized则会导致对对象的访问不是线程安全的。
                    推荐使用第一种。
  

你可能感兴趣的:(null,Class)