public class A {
    private Static A a = new A();
    private A() {
    }
    public static A getInstance() {
        return a;
    }
}这个是单例模式吗?还是应该这样public class A {
    private Static A a = null;
    private A() {
    }
    public static A getInstance() {
        if(null == a) {
            a = new A();
        }
        return a;
    }
}都一样吧?

解决方案 »

  1.   

    都是单例模式.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。1.饿汉式单例类
    2.懒汉式单例类使用的情况有点区别。
    一个直接创建,一个是要用的时候再创建。饿汉式线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。