下面两种形式是什么?

第一种:
public class Singleton{
private Singleton(){}
private static Singleton instance=new Singleton();
public static Singleton getInstance(){
return instance;
}
}
第二种:
public class Singleton{
private Singleton(){}
private static Singleton instance=null;
public static synchronized Singleton getInstance(){
if(instance==null){
instance=new Singletion();
}
}
}

首先,这是两种实现单例模式的做法,,

第一个,,俗称“饿汉模式”,,,比较“饿”,,,一初始化,,就创建本类的实例
第二个。。俗称“懒汉模式”。。。比较“懒”,,,一开始不想创建,需要到时候才创建 synchronized,同步锁,防止多线程下多次创建。

单例必备两个条件
(1),私有构造方法。private Singleton(){}
(2)。 对外提供获取本类实例的方法,

public static Singleton getInstance(){
        return instance;
    }


        public static synchronized Singleton getInstance(){
            if(instance==null){
                instance=new Singletion();
            }
        }
    }


还有什么问题,,,可以追问,,,纯手码,,给个采纳呗 ^.^

    单例模式 第一种饿汉,第二种懒汉,大概来说就是为了降低内存的消耗,对这个类的构造方法私有处理,不能外部调用构造方法来new对象,只在内部new了一次对象
    提高效率的模式

都是单例的做法,
第一个是饿汉模式(就是不管用不用,对象都建好了)。
第二种是懒汉模式(就是你不用我就不管,你用了,我再给你建,我建了一次之后就放在那里,以后自己取,别烦我!!!)。
两者的共同点:
1、构造方法私有化,就是说我的东西我自己造(自己new),外人不可以造,外人只能用。
2、我(单例这个类)会给外人提供能取得对象的公共静态方法,外人要用就只能通过方法获取。synchronized就是保证当多个人来取对象时,他们取得都是同一个对象。